Railgrade Wiki railgrade_en https://railgrade.wiki.gg/wiki/Railgrade_Wiki MediaWiki 1.39.4 first-letter Media Special Talk User User talk Railgrade Wiki Railgrade Wiki talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Module Module talk Gadget Gadget talk Gadget definition Gadget definition talk Railgrade Wiki 0 1 1 2021-11-29T15:17:56Z MediaWiki default 0 wikitext text/x-wiki <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 5702e4d5fd9173246331a889294caf01a3ad3706 8 1 2023-12-04T02:40:51Z Hiroteashi 379511 wikitext text/x-wiki === Topics === * [[:category:industries|Industries]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:nissions|Missions]] <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 92c966c9cf5c0c726333b0372701414f9a9d6356 9 8 2023-12-04T02:48:34Z Hiroteashi 379511 wikitext text/x-wiki == Welcome to the Official RAILGRADE Wiki == === About RAILGRADE === RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! === Features === * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! === Topics === * [[:category:industries|Industries]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:nissions|Missions]] <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] cae7b5b06fb9aabd1d38a176922c405902715047 17 9 2023-12-06T22:18:05Z Hiroteashi 379511 /* Topics */ wikitext text/x-wiki == Welcome to the Official RAILGRADE Wiki == === About RAILGRADE === RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! === Features === * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! === Topics === * [[:category:industries|Industries]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] 64f494f26110821bab1abe6a782fca0f4c63d180 Template:Extension DPL 10 2 2 2022-12-18T00:55:51Z DynamicPageList3 extension 44285 Autogenerated DPL's necessary template for content inclusion wikitext text/x-wiki <noinclude>This page was automatically created. It serves as an anchor page for all '''[[Special:WhatLinksHere/Template:Extension_DPL|invocations]]''' of [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:DynamicPageList3 Extension:DynamicPageList3].</noinclude> 087ffd4625ae7b1fea3436ec3f929e82ee739d29 MediaWiki:Privacy 8 3 3 2023-10-19T18:35:25Z Pcj 1919 Created page with "-" wikitext text/x-wiki - 3bc15c8aae3e4124dd409035f32ea2fd6835efc9 MediaWiki:Disclaimers 8 4 4 2023-10-19T18:35:33Z Pcj 1919 Created page with "-" wikitext text/x-wiki - 3bc15c8aae3e4124dd409035f32ea2fd6835efc9 MediaWiki:Copyright 8 5 5 2023-10-19T18:35:55Z Pcj 1919 Created page with "<div><img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted.</div>" wikitext text/x-wiki <div><img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted.</div> 7290744eba73e7f9987d32ef26b3490f5bea3537 Template:InfoboxGame 10 6 6 2023-10-19T23:36:44Z Azgoodaz 36052 Created page with "<includeonly><infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="developer"> <label>Developer</label> </data> <data source="publisher"> <label>Publisher</label> </data> <data source="engine"> <label>Game Engine</label> </data> <data source="release"> <label>Release date</label> </data> <data source="platform"> <label>Platfo..." wikitext text/x-wiki <includeonly><infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="developer"> <label>Developer</label> </data> <data source="publisher"> <label>Publisher</label> </data> <data source="engine"> <label>Game Engine</label> </data> <data source="release"> <label>Release date</label> </data> <data source="platform"> <label>Platform</label> </data> <data source="price"> <label>Price</label> </data> <data source="store"> <label>Store</label> </data> </infobox></includeonly><noinclude> Usage:<pre> {{InfoboxGame |title= |image= |caption= |developer= |publisher= |release= |platform= }} </pre> [[Category:Infobox templates]]</noinclude> 6bd8c4951a14b5906ddf259bee2a92264c56e66d Category:Infobox templates 14 7 7 2023-10-19T23:36:53Z Azgoodaz 36052 Created page with "[[Category:Templates]]" wikitext text/x-wiki [[Category:Templates]] 06eecdec29f6cb215c99cf216d1e3bdc8c30a95e Category:Trains 14 8 10 2023-12-04T03:53:46Z Hiroteashi 379511 Created page with "== Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses..." wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Engine Statistics Definitions== * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. === List of Trains === {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | Boiler || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | Workhorse || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || [[RegOilOverflow]] |- | Industrial || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || [[UphillBothWays]] |- | C.U.S.T.O.M || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Diesel Deluxe || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Spark || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Rescue || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Kettle || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || [[RegOilOverflow]] |- | Bullet || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || [[RegOilOverflow]] and [[Voucher Unlock]] |} d66d794e05247d3da61d2b2229067442cd747651 11 10 2023-12-04T03:54:34Z Hiroteashi 379511 /* List of Trains */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Engine Statistics Definitions== * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. === List of Trains === {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | Boiler || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | Workhorse || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || [[RegOilOverflow]] |- | C.U.S.T.O.M || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Kettle || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || [[RegOilOverflow]] |- | Industrial || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || [[UphillBothWays]] |- | Diesel Deluxe || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Spark || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Rescue || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Bullet || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || [[RegOilOverflow]] and [[Voucher Unlock]] |} ab950ea57eb39a14716448be164238e832c29430 12 11 2023-12-04T03:59:31Z Hiroteashi 379511 /* Engine Statistics Definitions */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. === List of Trains === {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | Boiler || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | Workhorse || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || [[RegOilOverflow]] |- | C.U.S.T.O.M || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Kettle || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || [[RegOilOverflow]] |- | Industrial || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || [[UphillBothWays]] |- | Diesel Deluxe || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Spark || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Rescue || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || [[RegOilOverflow]] and [[Voucher Unlock]] |- | Bullet || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || [[RegOilOverflow]] and [[Voucher Unlock]] |} 9b085c76a9f313a912d31e734c2399824bbf472a Category:Structures 14 9 13 2023-12-04T04:32:28Z Hiroteashi 379511 Created page with "=== Resource Extraction === Oil Well Water Pump Geothermal Coal Mine Copper Mine Iron Mine Silica Quarry === Industry Tier 1 === Coal Powerplant Oil Powerplant Oil Refinery Steel Mill Salt Refinery Plasticizer Hardmold Solva Wire Coiler === Industry Tier 2 === Appliance Plant Incinerator Tool Die Glass Smelter Coal Gassifier Electronics Fab Hullyard Neon Refinery Booster Plant Furniture Assembler Motor Assembly Paperclip Stamper === Industry Tier 3 === Rocket Factory..." wikitext text/x-wiki === Resource Extraction === Oil Well Water Pump Geothermal Coal Mine Copper Mine Iron Mine Silica Quarry === Industry Tier 1 === Coal Powerplant Oil Powerplant Oil Refinery Steel Mill Salt Refinery Plasticizer Hardmold Solva Wire Coiler === Industry Tier 2 === Appliance Plant Incinerator Tool Die Glass Smelter Coal Gassifier Electronics Fab Hullyard Neon Refinery Booster Plant Furniture Assembler Motor Assembly Paperclip Stamper === Industry Tier 3 === Rocket Factory Signworks Heavyworks Luxury Assembler CPU Fab === Industry Tier 4 === Tube Plant Framer Armory Grey Assembly === Industry Tier 5 === The Mechanist Workrocket Platform Spaceliner Platform Compute Platform === Special Infrastructure === City Bank Accountancy Voucher Shop Zeppelin Dock Import Dock Worker Housing === Special Megaprojects === Rollercoaster Park Company Headquarters Terraformer The Experimental Atmospheric Seeder d9034af2de04e217cc4d91e5b59a2ae8717857de 14 13 2023-12-04T04:33:40Z Hiroteashi 379511 wikitext text/x-wiki === Resource Extraction === * Oil Well * Water Pump * Geothermal * Coal Mine * Copper Mine * Iron Mine * Silica Quarry === Industry Tier 1 === * Coal Powerplant * Oil Powerplant * Oil Refinery * Steel Mill * Salt Refinery * Plasticizer * Hardmold * Solva * Wire Coiler === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Terraformer * The Experimental Atmospheric Seeder ce14f2ce01f5fbabe6e6eddb5368a5fc15489aaa 15 14 2023-12-04T04:35:56Z Hiroteashi 379511 /* Special Megaprojects */ wikitext text/x-wiki === Resource Extraction === * Oil Well * Water Pump * Geothermal * Coal Mine * Copper Mine * Iron Mine * Silica Quarry === Industry Tier 1 === * Coal Powerplant * Oil Powerplant * Oil Refinery * Steel Mill * Salt Refinery * Plasticizer * Hardmold * Solva * Wire Coiler === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler da20a4ed56b44a4431be123ab0b6291f8cbf6980 27 15 2023-12-15T15:09:35Z Hiroteashi 379511 wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === *[[Oil Well]] * Water Pump * Geothermal * Coal Mine * Copper Mine * Iron Mine * Silica Quarry === Industry Tier 1 === * Coal Powerplant * Oil Powerplant * Oil Refinery * Steel Mill * Salt Refinery * Plasticizer * Hardmold * Solva * Wire Coiler === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 40214c8480f6585adf14ab3d306f6dcf563d7beb Category:Freight 14 10 16 2023-12-04T04:53:16Z Hiroteashi 379511 Created page with "{| class="wikitable sortable" |+ Freight |- ! Name !! Sell Price (¥) |- | Solvent || 16 |- | Water || 32 |- | Crude Oil || 32 |- | Coal || 32 |- | Silica || 32 |- | Iron || 32 |- | Copper || 32 |- | Wire || 32 |- | PaperClips || 32 |- | Plastic || 64 |- | Widgets || 64 |- | Neon Gas || 64 |- | Concrete || 64 |- | Reactives || 64 |- | Energy || 64 |- | Furniture || 64 |- | Steel || 64 |- | Salt || 64 |- | Glass || 64 |- | Motor || 64 |- | Appliances || 128 |- | Rockets..." wikitext text/x-wiki {| class="wikitable sortable" |+ Freight |- ! Name !! Sell Price (¥) |- | Solvent || 16 |- | Water || 32 |- | Crude Oil || 32 |- | Coal || 32 |- | Silica || 32 |- | Iron || 32 |- | Copper || 32 |- | Wire || 32 |- | PaperClips || 32 |- | Plastic || 64 |- | Widgets || 64 |- | Neon Gas || 64 |- | Concrete || 64 |- | Reactives || 64 |- | Energy || 64 |- | Furniture || 64 |- | Steel || 64 |- | Salt || 64 |- | Glass || 64 |- | Motor || 64 |- | Appliances || 128 |- | Rockets || 128 |- | Signage || 256 |- | CPU || 256 |- | Heavy Tools || 256 |- | Retrograde || 256 |- | Assembra || 256 |- | Hulls || 256 |- | Luxury Rooms || 256 |- | Televisions || 512 |- | Mainframes || 512 |- | RobotArm || 512 |} c45ac9c7a68560627434c0cc607526911f39fa40 19 16 2023-12-06T23:35:21Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable sortable" |+ Freight |- ! Name !! Sell Price (¥) |- | [[Solvent]] || 16 |- | Water || 32 |- | Crude Oil || 32 |- | Coal || 32 |- | Silica || 32 |- | Iron || 32 |- | Copper || 32 |- | Wire || 32 |- | PaperClips || 32 |- | Plastic || 64 |- | Widgets || 64 |- | Neon Gas || 64 |- | Concrete || 64 |- | Reactives || 64 |- | Energy || 64 |- | Furniture || 64 |- | Steel || 64 |- | Salt || 64 |- | Glass || 64 |- | Motor || 64 |- | Appliances || 128 |- | Rockets || 128 |- | Signage || 256 |- | CPU || 256 |- | Heavy Tools || 256 |- | Retrograde || 256 |- | Assembra || 256 |- | Hulls || 256 |- | Luxury Rooms || 256 |- | Televisions || 512 |- | Mainframes || 512 |- | RobotArm || 512 |} 9302b52f5e83d607c8c9c3fa64c904d040267f53 Category:Missions 14 11 18 2023-12-06T23:22:38Z Hiroteashi 379511 Created page with "{| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || Track & Train|| 5:00 |- | T2 || Branch Control || 5:00 |- | T3 || Industrial Chain Primer || 5:00 |- | 1 || First Job || 10:00 |- | S1 || Validation Skip || 25:00 |- | 2 || Oil Overflow || 15:00 |- | 2 Bonus || Oil Overflow Omega [High Volume Oil] || 25:00 |- | 3 || Mix Oil and Water || 20:00 |- | 3 Bonus || Power Supply and Demand || 20:00 |- | 4 || Stretched Thin || 20..." wikitext text/x-wiki {| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || Track & Train|| 5:00 |- | T2 || Branch Control || 5:00 |- | T3 || Industrial Chain Primer || 5:00 |- | 1 || First Job || 10:00 |- | S1 || Validation Skip || 25:00 |- | 2 || Oil Overflow || 15:00 |- | 2 Bonus || Oil Overflow Omega [High Volume Oil] || 25:00 |- | 3 || Mix Oil and Water || 20:00 |- | 3 Bonus || Power Supply and Demand || 20:00 |- | 4 || Stretched Thin || 20:00 |- | 4 Bonus A || Metalsome Production || 20:00 |- | 4 Bonus B || Round About and Out [Import Dock] || 25:00 |- | 5 || Fork in the Water || 25:00 |- | S2 || Giant Choice || 25:00 |- | 6 || Rooting out the Route || 15:00 |- | 6 Bonus || Glassed Over [Import Dock] || 20:00 |- | 7 || Salt City || 25:00 |- | 8 || Gorge of Greed || 30:00 |- | 9 || Uphill Both Ways || 25:00 |- | 9 Bonus A || Ancient Erosion || 35:00 |- | 9 Bonus B || The Spire || 35:00 |- | 10 || Historic Restoration || 35:00 |- | 10 Bonus || Bottleneck || 35:00 |- | 11 || Shifting Sands || 25:00 |- | 12 Branch A1 || A Lighter Form of Oil [Neon from Oil] || 35:00 |- | 12 Branch A2 || Good Buys Forever || 50:00 |- | 12 Branch B || Downletting Upholsteries [Mass Furniture] || 35:00 |- | 12 Bonus || Back to Basics || 40:00 |- | 13 || Waste Not; Want more [Waste Management] || 35:00 |- | 13 Bonus A || Aggressive Zoning || 30:00 |- | 13 Bonus B || For the Greater Good || 50:00 |- | 14 || Runaway Train || 10:00 |- | 15 || Space Park || 50:00 |- | 15 Bonus || Extra Tooling || 50:00 |- | 16 || CO2 WARNING|| 40:00 |- | 16 Bonus A || CO2 WARNING REDUX || 40:00 |- | 16 Bonus B || No Distance Too Far || 1:00:00 |- | 17 || Luxurious Vistas || 1:00:00 |- | 17 Bonus || Capital Renewal || 1:30:00 |- | 18 || The Interchange || 45:00 |- | 19 || Signs of Change || 1:30:00 |- | 19 Bonus A || Semiconductor Valley || 1:30:00 |- | 19 Bonus B || Rental Plan || 1:00:00 |- | 20 || In Media Res || 1:30:00 |- | 20 Bonus || Mass Media || 1:00:00 |- | 21 Branch A || Server Farming [Mainframes] || 1:30:00 |- | 21 Branch B || Actuation Station [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || Frost Pit || 1:30:00 |- | 22 Branch A || Heavy Arms [Robotics] || 1:30:00 |- | 22 Branch B || Spacefleet Spares [Rocket Parts] || 1:30:00 |- | 23 Branch A || Frozen Dam [Mobile Computers] || 1:30:00 |- | 23 Branch B || Out of Rocket Expenses [WorkRockets] || 1:30:00 |- | 23 Bonus || Cratered || 1:30:00 |- | 24 || Prime Slime || 1:30:00 |- | 24 Bonus A || Gridlock || 1:30:00 |- | 24 Bonus B || Clipped Wings || 1:30:00 |- | 24 Bonus C || Incremental Maximizer || 2:00:00 |- | 24.5 Bonus A || Dusty with a Chance of Rain || 1:30:00 |- | 24.5 Bonus B || Out to the Cleaners || 45:00 |- | 24.5 || Brewing Up a Storm || 1:30:00 |- | 25 || Flying Steel || 45:00 |- | 25 Bonus || Snow Spearhead || 1:00:00 |- | 26 || Plastic Canon || 45:00 |- | 27 || Last Job || 1:30:00 |- | 27 Bonus A || Trinity || 1:30:00 |- | 27 Bonus B || The Lap of Luxury || 1:00:00 |- | 27 Bonus C || Looking for a Silver Liner || 1:30:00 |- |} 1b90f69000c0d94342642e096dfb3bff5d264c04 Solvent 0 12 20 2023-12-06T23:58:31Z Hiroteashi 379511 Created page with "[[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[solva|Solva]] || [[crudeoil|1 Crude Oil]], [[water|1 Water]], [[limestone|2 Limestone]] || 6 Solvent, [[waste|1 Waste]] || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !!..." wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[solva|Solva]] || [[crudeoil|1 Crude Oil]], [[water|1 Water]], [[limestone|2 Limestone]] || 6 Solvent, [[waste|1 Waste]] || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent, [[reactives|4 Reactives]], [[chips|2 Chips]] || [[assembra|2 Assembra]], [[Waste|4 Waste]] || 64 |- | [[terraformer|Terraformer]] || 6 Solvent, [[energy|2 Energy]] || [[coal|8 Coal]], [[iron|4 Iron]], [[copper|2 Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] 3c818b6c2df463457f5f62691e3ee4c649232c4c 21 20 2023-12-07T00:06:03Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[solva|Solva]] || [[crudeoil|1 Crude Oil]]<br>[[water|1 Water]]<br>[[limestone|2 Limestone]] || 6 Solvent<br>[[waste|1 Waste]] || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent<br>[[reactives|4 Reactives]]<br>[[chips|2 Chips]] || [[assembra|2 Assembra]]<br>[[Waste|4 Waste]] || 64 |- | [[terraformer|Terraformer]] || 6 Solvent<br>[[energy|2 Energy]] || [[coal|8 Coal]]<br>[[iron|4 Iron]]<br>[[copper|2 Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] 54ae2e7168b1615ee0266cf080f788a73d7efc30 22 21 2023-12-07T00:07:24Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[solva|Solva]] || 1 [[crudeoil|Crude Oil]]<br>1 [[water|Water]]<br>2 [[limestone|Limestone]] || 6 Solvent<br>1 [[waste|Waste]] || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent<br>4 [[reactives|Reactives]]<br>2 [[chips|Chips]] || 2 [[assembra|Assembra]]<br>4 [[Waste|Waste]] || 64 |- | [[terraformer|Terraformer]] || 6 Solvent<br>2 [[energy|Energy]] || 8 [[coal|Coal]]<br>4 [[iron|Iron]]<br>2 [[copper|Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] 3cd06564ba23a96cd5ad62577fcf68465f89db4d 23 22 2023-12-07T00:08:48Z Hiroteashi 379511 /* Direct Consumers */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[solva|Solva]] || 1 [[crudeoil|Crude Oil]]<br>1 [[water|Water]]<br>2 [[limestone|Limestone]] || 6 Solvent<br>1 [[waste|Waste]] || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent<br>4 [[reactives|Reactives]]<br>2 [[chips|Chips]] || 2 [[assembra|Assembra]]<br>4 [[Waste|Waste]] || 64 |- | [[terraformer|Reclaimation Engine]] || 6 Solvent<br>2 [[energy|Energy]] || 8 [[coal|Coal]]<br>4 [[iron|Iron]]<br>2 [[copper|Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] e8d4a0b73b66e81da13bc8ed144ccc1e8181465c 24 23 2023-12-07T00:10:38Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[Solva]] || 1 [[crudeoil|Crude Oil]]<br>1 [[Water]]<br>2 [[Limestone]] || 6 Solvent<br>1 [[Waste]] || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent<br>4 [[Reactives]]<br>2 [[Chips]] || 2 [[Assembra]]<br>4 [[Waste]] || 64 |- | [[terraformer|Reclaimation Engine]] || 6 Solvent<br>2 [[Energy]] || 8 [[Coal]]<br>4 [[Iron]]<br>2 [[Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] d677ef720e08f9ac751e64ecd56074d451ae5ad4 25 24 2023-12-07T00:11:00Z Hiroteashi 379511 /* Production Recipes */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[Solva]] || 1 [[crudeoil|Crude Oil]]<br>1 [[Water]]<br>2 [[Limestone]] || 6 Solvent<br>1 [[Waste]] || 32 |- |} [[crudeoil]] [[Crude Oil]] === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent<br>4 [[Reactives]]<br>2 [[Chips]] || 2 [[Assembra]]<br>4 [[Waste]] || 64 |- | [[terraformer|Reclaimation Engine]] || 6 Solvent<br>2 [[Energy]] || 8 [[Coal]]<br>4 [[Iron]]<br>2 [[Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] f3dcda0ca80690e45737aa42035c0c44fc9dc1f2 26 25 2023-12-07T00:11:14Z Hiroteashi 379511 /* Production Recipes */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[Solva]] || 1 [[crudeoil|Crude Oil]]<br>1 [[Water]]<br>2 [[Limestone]] || 6 Solvent<br>1 [[Waste]] || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent<br>4 [[Reactives]]<br>2 [[Chips]] || 2 [[Assembra]]<br>4 [[Waste]] || 64 |- | [[terraformer|Reclaimation Engine]] || 6 Solvent<br>2 [[Energy]] || 8 [[Coal]]<br>4 [[Iron]]<br>2 [[Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] d677ef720e08f9ac751e64ecd56074d451ae5ad4 File:Assembra.png 6 13 28 2023-12-17T15:10:52Z Hiroteashi 379511 Assembra freight thumbnail wikitext text/x-wiki == Summary == Assembra freight thumbnail ce78d44b7b16548224d29131bc8024e074cc8a6a 34 28 2023-12-17T15:14:41Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == Assembra Freight 8707a41f0d2855846de72235a7aaf11f48d69267 File:Workhorse.png 6 14 29 2023-12-17T15:11:32Z Hiroteashi 379511 Workhorse Engine Thumbnail wikitext text/x-wiki == Summary == Workhorse Engine Thumbnail 0f59616d2c283213bd24a8361d619abaef5e08ee 33 29 2023-12-17T15:14:21Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == Workhorse Engine 7d1610816e6712446d2baca21eb9ac9cc7060aea File:Music.png 6 15 30 2023-12-17T15:12:28Z Hiroteashi 379511 Music Cassette wikitext text/x-wiki == Summary == Music Cassette 1ec203b35205e95e3e760232e4348fe701f3e585 File:Bullet.png 6 16 31 2023-12-17T15:13:22Z Hiroteashi 379511 Bullet Engine Thumbnail wikitext text/x-wiki == Summary == Bullet Engine Thumbnail 4cf447eae6947a4c6a9d3b4f9bf0aed50ff8432f 32 31 2023-12-17T15:14:06Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == Bullet Engine 0a4ee2c4fd0ae97ffbc9727195f217426697d738 File:CPU.png 6 17 35 2023-12-17T15:15:25Z Hiroteashi 379511 CPU Freight wikitext text/x-wiki == Summary == CPU Freight 568e320e2bcbcb29e4d9f765160ccc5562d070f9 File:Industrial.png 6 18 36 2023-12-17T15:15:48Z Hiroteashi 379511 Industrial Engine wikitext text/x-wiki == Summary == Industrial Engine 615dc91c781bb0612fccf44e1ccfcc6531010758 File:Coal.png 6 19 37 2023-12-17T15:16:20Z Hiroteashi 379511 Coal Ore Freight wikitext text/x-wiki == Summary == Coal Ore Freight a7bdc64771d8ac697616a5043d95b98a1b2ca657 File:Concrete.png 6 20 38 2023-12-17T15:16:43Z Hiroteashi 379511 Concrete Freight wikitext text/x-wiki == Summary == Concrete Freight a5fe0aafd1ebb140b22e8d0251bb3863889b8d65 File:Copper.png 6 21 39 2023-12-17T15:17:12Z Hiroteashi 379511 Copper Ore Freight wikitext text/x-wiki == Summary == Copper Ore Freight ef6ff7907e917c3afa9d5a88daf35f9f208aaff7 File:Crude Oil.png 6 22 40 2023-12-17T15:23:29Z Hiroteashi 379511 Crude Oil Freight wikitext text/x-wiki == Summary == Crude Oil Freight 983ccfbcebea10ab7e899482541a0ddd62b74902 File:CUSTOM.png 6 23 41 2023-12-17T15:23:57Z Hiroteashi 379511 CUSTOM Engine wikitext text/x-wiki == Summary == CUSTOM Engine 08208130a66aff7a42b20cdac5f922d91a77efc0 File:Diesel Deluxe.png 6 24 42 2023-12-17T15:24:41Z Hiroteashi 379511 Diesel Deluxe Engine wikitext text/x-wiki == Summary == Diesel Deluxe Engine 6c83abd837710a69e4e110f05aa0319402c7809c File:Energy.png 6 25 43 2023-12-17T15:30:12Z Hiroteashi 379511 Energy Freight wikitext text/x-wiki == Summary == Energy Freight d9dd0b9ef2fe60bcdb924fa5ab9ab1615eded2e6 File:Rockets.png 6 26 44 2023-12-17T15:30:32Z Hiroteashi 379511 Rocket Engines Freight wikitext text/x-wiki == Summary == Rocket Engines Freight c962de7e7b7e88cbaa2483b1350c0b25e0eae0a2 File:Furniture.png 6 27 45 2023-12-17T15:31:30Z Hiroteashi 379511 Furniture Freight wikitext text/x-wiki == Summary == Furniture Freight 03a2b2963587110d9c193867b45581138386f3e7 File:Glass.png 6 28 46 2023-12-17T15:31:49Z Hiroteashi 379511 Glass Freight wikitext text/x-wiki == Summary == Glass Freight 49735acb81f67ff86f9f70c850262f2908ee85b8 File:Appliances.png 6 29 47 2023-12-17T15:41:23Z Hiroteashi 379511 Appliances Freight wikitext text/x-wiki == Summary == Appliances Freight 9996cbf4391d9202c96215ca494bd8d1ef5a9d81 File:Kettle.png 6 30 48 2023-12-17T15:42:14Z Hiroteashi 379511 Kettle Engine wikitext text/x-wiki == Summary == Kettle Engine 392e44c3196425e9124039a56fcd484c3b2b4970 File:Heavy Tools.png 6 31 49 2023-12-17T15:46:34Z Hiroteashi 379511 Heavy Tools Freight wikitext text/x-wiki == Summary == Heavy Tools Freight e803cdb11e609d89f8ed2cdac1c006c6d0a8b67c File:Hulls.png 6 32 50 2023-12-17T15:46:59Z Hiroteashi 379511 Hulls Freight wikitext text/x-wiki == Summary == Hulls Freight b45e184047b0635e43e90aa56500ba14e97c4b8b File:Spark.png 6 33 51 2023-12-17T15:58:08Z Hiroteashi 379511 Spark Engine wikitext text/x-wiki == Summary == Spark Engine 47e971af8f21078328be5c2d5c699b61d32544f8 File:Iron.png 6 34 52 2023-12-17T16:01:37Z Hiroteashi 379511 Iron Ore Freight wikitext text/x-wiki == Summary == Iron Ore Freight bd2bc907a68718167dbb6f77a319bc026b62d6bd File:Silica.png 6 35 53 2023-12-17T16:02:24Z Hiroteashi 379511 Silica Freight wikitext text/x-wiki == Summary == Silica Freight 510889657994f06014ca6003b004a57c26c66aef File:Luxury Rooms.png 6 36 54 2023-12-17T16:02:52Z Hiroteashi 379511 Luxury Room Freight wikitext text/x-wiki == Summary == Luxury Room Freight f7e113c25747535a44ec2ac4d2836db9ccbe8dfd File:Mainframes.png 6 37 55 2023-12-17T16:03:15Z Hiroteashi 379511 Mainframes Freight wikitext text/x-wiki == Summary == Mainframes Freight 9e3970165cf8a1b60fcb806cb7ef3aca5d7dcdfb File:Motor.png 6 38 56 2023-12-17T16:03:41Z Hiroteashi 379511 Motors Freight wikitext text/x-wiki == Summary == Motors Freight dac2a422be82499e5eb3443b6077a97f11a997af File:Neon Gas.png 6 39 57 2023-12-17T16:11:21Z Hiroteashi 379511 Neon Freight wikitext text/x-wiki == Summary == Neon Freight 89fe5d40b67957e0e6c16ec03c9e868d88a5efc6 File:PaperClips.png 6 40 58 2023-12-17T16:12:04Z Hiroteashi 379511 Paperclips Freight wikitext text/x-wiki == Summary == Paperclips Freight b2bd50210a819e2f818dd896acdc0a69360a8498 File:Accountancy.png 6 41 59 2023-12-17T16:12:50Z Hiroteashi 379511 Accountancy Structure wikitext text/x-wiki == Summary == Accountancy Structure d91414240af769e6ec962929c2176a63d46831bb File:Worker Housing.png 6 42 60 2023-12-17T16:13:27Z Hiroteashi 379511 Worker Housing Structure wikitext text/x-wiki == Summary == Worker Housing Structure 5f65ea4ea6014e7c87bf8a7fa697d8ecf906bf00 File:Zeppelin Dock.png 6 43 61 2023-12-17T16:14:25Z Hiroteashi 379511 Zeppelin Dock Structure wikitext text/x-wiki == Summary == Zeppelin Dock Structure a1194339689cac44f8ed195c594c04aada03b85e File:Voucher Exchange.png 6 44 62 2023-12-17T16:16:29Z Hiroteashi 379511 Voucher Exchange Structure wikitext text/x-wiki == Summary == Voucher Exchange Structure 6cac5b4200b6280f6b707ef6681a6bddd4bda46a File:Bank.png 6 45 63 2023-12-17T16:16:59Z Hiroteashi 379511 Bank Structure wikitext text/x-wiki == Summary == Bank Structure 9bbbe511e08d6af77170cc16a407bea124ca0bf9 File:Reactives.png 6 46 64 2023-12-17T16:17:27Z Hiroteashi 379511 Reactives Freight wikitext text/x-wiki == Summary == Reactives Freight f53cb1d37d8f338e12bcc6604a54df7fea5ef719 File:Rescue.png 6 47 65 2023-12-17T16:17:53Z Hiroteashi 379511 Rescue Engine wikitext text/x-wiki == Summary == Rescue Engine ccc4c635e5d8853d0feea1d030e5b77c3ac8b4ba File:Retrograde.png 6 48 66 2023-12-17T16:18:13Z Hiroteashi 379511 Retrograde Freight wikitext text/x-wiki == Summary == Retrograde Freight a524df24217c1ca01f317f7bda3b7fd1444ee7e0 File:RobotArm.png 6 49 67 2023-12-17T16:18:37Z Hiroteashi 379511 Robot Arms Freight wikitext text/x-wiki == Summary == Robot Arms Freight a4463122fc157517b5a6f3c37a2ab875282997b2 File:Salt.png 6 50 68 2023-12-17T16:19:04Z Hiroteashi 379511 Salt Freight wikitext text/x-wiki == Summary == Salt Freight 14a368db36689e3f48ecdbd66dad8b5c4eb34ce6 File:Signage.png 6 51 69 2023-12-17T16:19:27Z Hiroteashi 379511 Signage Freight wikitext text/x-wiki == Summary == Signage Freight 03fbb42f0966440a40874d9ef1f103fc86ab4066 File:Solvent.png 6 52 70 2023-12-17T16:22:31Z Hiroteashi 379511 Solvent Freight wikitext text/x-wiki == Summary == Solvent Freight 00384ed1c937f3ac328562496f117f652f5a89fa File:Steam Tank.png 6 53 71 2023-12-17T16:22:52Z Hiroteashi 379511 Steam Freight wikitext text/x-wiki == Summary == Steam Freight 0b988fd32b572adce52e41d790b49b32f64043c9 File:Boiler.png 6 54 72 2023-12-17T16:23:11Z Hiroteashi 379511 Boiler Engine wikitext text/x-wiki == Summary == Boiler Engine bd92f5e3860e65d5fede286e800e62c95be70c62 File:Steel.png 6 55 73 2023-12-17T16:23:24Z Hiroteashi 379511 Steel Freight wikitext text/x-wiki == Summary == Steel Freight 2efb43e248c5474469221465c69b146a62e3fadf File:Televisions.png 6 56 74 2023-12-17T16:23:51Z Hiroteashi 379511 Television Freight wikitext text/x-wiki == Summary == Television Freight bcfd28a28b03fa570a17e7135dae783ba2cdad83 File:Waste.png 6 57 75 2023-12-17T16:24:10Z Hiroteashi 379511 Waste Freight wikitext text/x-wiki == Summary == Waste Freight 51732fce81df68e0487cfa9e492ad89fe7822609 File:Water.png 6 58 76 2023-12-17T16:24:30Z Hiroteashi 379511 Water Freight wikitext text/x-wiki == Summary == Water Freight 27e5e8e5a5077a7971069bcb6117169026091184 File:Widgets.png 6 59 77 2023-12-17T16:24:47Z Hiroteashi 379511 Widgets Freight wikitext text/x-wiki == Summary == Widgets Freight e93aa3f62ff62d2f77b988d66a3a64009119b0b8 File:Wire.png 6 60 78 2023-12-17T16:25:05Z Hiroteashi 379511 Wire Freight wikitext text/x-wiki == Summary == Wire Freight 3ab8e3e7fcfc06cc84f6ac0b3198f953e8b53ee1 Category:Structures 14 9 79 27 2023-12-18T19:15:10Z Hiroteashi 379511 wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! Recipe |- | [[waterpump|Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → [[Water]] |- | [[oilwell|Oil Well]] || 1024 || 16 || [[Water]] || ∅ → [[crudeoil|Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → [[Energy]] |- | [[CoalMine|Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[coal|Coal Ore]] |- | [[CopperMine|Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[CopperOre|Copper Ore]] |- | [[IronMine|Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[IronOre|Iron Ore]] |- | [[SilicaQuarry|Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[IronOre|Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! Recipe |- | [[CoalPowerplant|Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[crudeoil|Crude Oil]] → [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || 2 [[Iron Ore]], 2 [[Coal Ore]] → 2 [[Steel]] |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || [[Crude Oil]], [[Water]], [[Silica Ore]] → 6 [[Solvent]], 1 [[Waste]] |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 4b5a7753bcbf1cf695b7558f8b55dca074c50cc5 80 79 2023-12-18T19:15:47Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! Recipe |- | [[waterpump|Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → [[Water]] |- | [[oilwell|Oil Well]] || 1024 || 16 || [[Water]] || ∅ → [[crudeoil|Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → [[Energy]] |- | [[CoalMine|Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[coal|Coal Ore]] |- | [[CopperMine|Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[CopperOre|Copper Ore]] |- | [[IronMine|Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[IronOre|Iron Ore]] |- | [[SilicaQuarry|Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[IronOre|Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! Recipe |- | [[CoalPowerplant|Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[crudeoil|Crude Oil]] → [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || 2 [[Iron Ore]], 2 [[Coal Ore]] → 2 [[Steel]] |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || [[Crude Oil]], [[Water]], 2 [[Silica Ore]] → 6 [[Solvent]], 1 [[Waste]] |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler dd7a4e9c415eeab7f8c7926ccef3d15b58258f97 81 80 2023-12-18T19:44:00Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! Recipe |- | [[waterpump|Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → [[Water]] |- | [[oilwell|Oil Well]] || 1024 || 16 || [[Water]] || ∅ → [[crudeoil|Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → [[Energy]] |- | [[CoalMine|Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[coal|Coal Ore]] |- | [[CopperMine|Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[CopperOre|Copper Ore]] |- | [[IronMine|Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[IronOre|Iron Ore]] |- | [[SilicaQuarry|Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[IronOre|Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || 2 [[Iron Ore]], 2 [[Coal Ore]] → 2 [[Steel]] |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || [[Crude Oil]], [[Water]], 2 [[Silica Ore]] → 6 [[Solvent]], 1 [[Waste]] |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 0aea25324aa2382f29abfbe81adebb1d8e71c58d 82 81 2023-12-18T19:44:30Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || 2 [[Iron Ore]], 2 [[Coal Ore]] → 2 [[Steel]] |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || [[Crude Oil]], [[Water]], 2 [[Silica Ore]] → 6 [[Solvent]], 1 [[Waste]] |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler b3b4e9cb1ae40c41f197a738a458613074b8b058 83 82 2023-12-18T19:44:54Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || 2 [[Iron Ore]], 2 [[Coal Ore]] → 2 [[Steel]] |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || [[Crude Oil]], [[Water]], 2 [[Silica Ore]] → 6 [[Solvent]], 1 [[Waste]] |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler c1ddb16540eebac5b81b42af6b71b60d3de0f05d 89 83 2023-12-18T20:54:19Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler b9616a1578b17561466ab0d7fc7cbc503815ce4f 90 89 2023-12-18T20:54:55Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 80204f09cb9adfc0aaa0363f6ed848ff85671d0f 91 90 2023-12-18T20:55:19Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler ff47a33f2f1f4e6eab920668a1f9438df1f11b4c 92 91 2023-12-18T21:05:02Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2 === * Appliance Plant * Incinerator * Tool Die * Glass Smelter * Coal Gassifier * Electronics Fab * Hullyard * Neon Refinery * Booster Plant * Furniture Assembler * Motor Assembly * Paperclip Stamper === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 545faba8509ca724e1ef8646f8a3daf4514efc33 93 92 2023-12-18T21:29:47Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /<> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /<> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3 === * Rocket Factory * Signworks * Heavyworks * Luxury Assembler * CPU Fab === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler f99003e80bea379827ac9bf39b43e718fb4d73f9 94 93 2023-12-29T16:58:50Z Hiroteashi 379511 /* Industry Tier 3 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /<> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /<> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]</br>2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br / >2 [[Waste]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |} === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 102dda22ed0a647d029cd5e9de73d15b3a8f464d 95 94 2023-12-29T16:59:28Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /<> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]</br>2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br / >2 [[Waste]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |} === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler a71df180351381c1f473a0b1ca4dae571f6ba051 96 95 2023-12-29T16:59:38Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]</br>2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br / >2 [[Waste]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |} === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler ceafbf3be88bd24d46fb4a4be1582447a1fd32cb 97 96 2023-12-29T17:00:25Z Hiroteashi 379511 /* Industry Tier 3 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]</br>2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br / >2 [[Waste]] |} |} === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler d3db56b8501df0d67dd3ae422a8f1973d9da723a 98 97 2023-12-29T17:04:25Z Hiroteashi 379511 /* Industry Tier 3 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Workrocket Platform * Spaceliner Platform * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 454fd7ca7b091530b3f142eed114c70678d4ab02 99 98 2023-12-29T17:12:37Z Hiroteashi 379511 /* Industry Tier 5 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4 === * Tube Plant * Framer * Armory * Grey Assembly === Industry Tier 5 === * The Mechanist * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 835f14814e0efb60ca32f9e3fd9e34777d192070 100 99 2023-12-29T17:24:48Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5 === * The Mechanist * Compute Platform === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 26c8bcad78fc0d4654ae0a5e13a554131306c571 Category:Templates 14 61 84 2023-12-18T20:02:34Z Bantha 376452 Created page with "[[Item]]" wikitext text/x-wiki [[Item]] 8c9cf925fa804cf7dd5dd72c42ae01e6e098def8 85 84 2023-12-18T20:02:51Z Bantha 376452 wikitext text/x-wiki [[Template:Item]] cdb4b6b195f949d0dfd51b95f707d719527f0286 Template:Item 10 62 86 2023-12-18T20:04:30Z Bantha 376452 Created page with "<includeonly><span class="item">{{item icon|{{{1}}}|size={{{size|2em}}}|link={{{link|{{{1}}}}}}}}&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude>" wikitext text/x-wiki <includeonly><span class="item">{{item icon|{{{1}}}|size={{{size|2em}}}|link={{{link|{{{1}}}}}}}}&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> a4107ecc9234d929400292b5046f4eba66b897f2 87 86 2023-12-18T20:27:04Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"> <span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}}; background-color:{{Item_data|{{{1}}}|color}};">[[File:{{{1}}}.png|64px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]</span> &nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 3eb94fb01e487d0c4fdab23bf8c24502cbc3f367 88 87 2023-12-18T20:27:46Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"> <span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}}; background-color:{{Item_data|{{{1}}}|color}};">[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]</span> &nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> be287b3790d090c8d7ab3223675d9eeaef658b8a Category:Structures 14 9 101 100 2023-12-29T17:28:03Z Hiroteashi 379511 /* Industry Tier 5 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 0335830f3e2819c6595290c43786347ee7743361 102 101 2023-12-29T17:31:32Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 9a7218d43bf36e07b09df9df49f4a08a64dc32ed 103 102 2023-12-29T17:35:22Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4 || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4 || 4096 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2 || 2048 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 7d67d8f9bdb6355a559d89693a17c619f9ddb268 104 103 2023-12-29T17:36:11Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler d640a9e78741087f2929caacfe09f999c75dcef7 105 104 2023-12-29T17:38:14Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 11c2f35088f53e86b8db6a55cf72cb55ac0253bf 106 105 2023-12-29T17:39:34Z Hiroteashi 379511 /* Industry Tier 3 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 4386073c5c305f89f864bb6d2d6f82c57e2882f4 107 106 2023-12-29T17:41:18Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 361073ccc672f1563cd80548c586eea77dabd612 108 107 2023-12-29T17:41:45Z Hiroteashi 379511 /* Industry Tier 5 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * City * Bank * Accountancy * Voucher Shop * Zeppelin Dock * Import Dock * Worker Housing === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 20200988c574c7370ac0df044ef54ad598e4f80f 109 108 2023-12-29T17:42:26Z Hiroteashi 379511 /* Special Infrastructure */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * Rollercoaster Park * Company Headquarters * Reclamation Engine * The Experimental Atmospheric Seeder & Steam Boiler 52f1e19b40904bc89e333bd4f1ad26322ffc49c5 110 109 2023-12-29T17:44:14Z Hiroteashi 379511 /* Special Megaprojects */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Company Headquarters]] * [[TerraformerProject||Reclamation Engine]] * [[TEASProject||The Experimental Atmospheric Seeder & Steam Boiler]] dbf93a34919d1596b6a72e5515d2afbeac96e86f 111 110 2023-12-29T17:44:23Z Hiroteashi 379511 /* Special Megaprojects */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Company Headquarters]] * [[TerraformerProject|Reclamation Engine]] * [[TEASProject|The Experimental Atmospheric Seeder & Steam Boiler]] 203e78d1029b532e77745e56d9f1b03ea37a296b 112 111 2023-12-29T17:47:06Z Hiroteashi 379511 /* Overview */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Company Headquarters]] * [[TerraformerProject|Reclamation Engine]] * [[TEASProject|The Experimental Atmospheric Seeder & Steam Boiler]] 4ad40a9802b97d2d1b9c26f42ef4d2754083121c 113 112 2023-12-29T17:54:48Z Hiroteashi 379511 /* Special Megaprojects */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Company Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|The Experimental Atmospheric Seeder & Steam Boiler]] 50494124f1b82a355689641882c3ab2b5a620151 116 113 2023-12-29T18:21:51Z Hiroteashi 379511 /* Special Megaprojects */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || [[Energy]] || ∅ → 1 [[Water]] |- | [[Oil Well]] || 1024 || 16 || [[Water]] || ∅ → 1 [[Crude Oil]] |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Coal Ore]] → 1 [[Energy]] |- | [[Oil Powerplant]] || 2048 || 4 || 8 || [[Water]] || 2 [[Crude Oil]] → 1 [[Energy]] |- | [[Oil Refinery]] || 2048 || 4 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Reactives]] |- | [[Steel Mill]] || 4096 || 8 || 8 || [[Energy]] || {| |- | 2 [[Iron Ore]]<br />2 [[Coal Ore]] || → || 2 [[Steel]] |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 709dc0447599341ea96c858ad01c90f847a1a67e 129 116 2023-12-29T19:11:37Z Bantha 376452 wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || [[Water]] || ∅ → 1 [[Energy]] |- | [[Coal Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Coal Ore]] |- | [[Copper Mine]] || 1024 || 16 || [[Waste]] || ∅ → 1 [[Copper Ore]] |- | [[Iron Mine]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |- | [[Silica Quarry]] || 1024 || 16 || [[Waste]] || ∅ → 2 [[Iron Ore]] |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 47b2e562d6e2ad05bad03bc9b65eef7e552193a7 133 129 2023-12-29T20:00:19Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] ffc0baa24072b9060e9e3e0ec4e2d96371674f27 134 133 2023-12-29T20:00:39Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] bdc90a7dadca4a19ddec49f1e992e077ede97603 137 134 2023-12-29T20:04:12Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || [[Energy]] || 2 [[Silica Ore]] → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || [[Water]] || 2 [[Crude Oil]] → 1 [[Plastic]] |- | [[Hardmold]] || 2048 || 4 || 16 || [[Energy]] || 2 [[Coal Ore]] → 2 [[Plastic]] |- | [[Solva]] || 2048 || 4 || 32 || [[Neon]] || {| |- | 1 [[Crude Oil]]<br />1 [[Water]]<br />2 [[Silica Ore]] || → || 6 [[Solvent]]<br />1 [[Waste]] |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || [[Energy]] || 1 [[Copper Ore]] → 2 [[Wire]] |- | [[Concrete Yard]] || 2048 || 4 || 16 || [[Energy]] || {| |- | 2 [[Silica Ore]]<br />1 [[Water]] || → || 1 [[Concrete]] |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 1f302c5955d342552dc87ccfaba35777f8078431 139 137 2023-12-29T20:16:17Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]</br>1 [[Wire]] || → || 1 [[Appliances]] |} |- | [[Incinerator]] || 2048 || 1 || 32 || [[Solvent]] || 2 [[Waste]] → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || [[Energy]] || 1 [[Plastic]] → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || [[Water]] || {| |- | 2 [[Silica Ore]]<br />1 [[Energy]] || → || 1 [[Glass]] |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || [[Water]] || {| |- | 2 [[Coal]]<br /> 1 [[Energy]] || → || 1 [[Reactives]]<br /> 1 [[Waste]] |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || [[Water]] || {| |- | 1 [[Silica ore]]<br /> 2 [[Wire]]<br /> 1 [[Energy]] || → || 3 [[Appliances]]<br /> 1 [[Waste]] |} |- | [[Hullyard]] || 4096 || 4 || 32 || [[Heavy Tools]] || {| |- | 4 [[Steel]]<br /> 2 [[Plastic]]<br /> 1 [[Energy]] || → || 2 [[Hulls]] |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || [[Water]] || 2 [[Reactives]] → 1 [[Neon]] |- | [[Booster Plant]] || 4096 || 4 || 32 || [[Neon]] || {| |- | 3 [[Iron Ore]]<br /> 1 [[Reactives]] || → || 1 [[Retrograde]]<br /> 1 [[Waste]] |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || [[Energy]] || 2 [[Plastic]] → 1 [[Furniture]] |- | [[Motor Assembly]] || 4096 || 4 || 32 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 4 [[Wire]] || → || 2 [[Motor]] |} |- | [[Paperclip Stamper]] || 4096 || 4 || 16 || [[Heavy Tools]] || 1 [[Steel]] → 4 [[Paperclips]] |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || [[Robot Arm]] || {| |- | 5 [[Widgets]]<br />2 [[Steel]] || → || 2 [[Rockets]] |} |- | [[Chip Fab]] || 8192 || 4 || 16 || [[Robot Arm]] || {| |- | 3 [[Silica]]<br />1 [[Neon]]<br />2 [[Wire]] || → || 1 [[Chips]]<br />1 [[Waste]] |} |- | [[Signworks]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Glass]]</br>1 [[Neon]]<br />2 [[Wire]] || → || 2 [[Signage]] |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || [[Heavy Tools]] || {| |- | 1 [[Hulls]]<br />2 [[Furniture]]<br />1 [[Steel]] || → || 1 [[Luxury Rooms]]<br />2 [[Waste]] |} |- | [[Heavy Works]] || 4096 || 4 || 16 || [[Energy]] || {| |- | 1 [[Steel]]<br /> 1 [[Widgets]]<br /> 1 [[Motors]] || → || 1 [[Heavy Tools]] |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || [[Robot Arms]] || {| |- | 1 [[Glass]]<br />1 [[CPU]]<br /> 2 [[Wire]] || → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]<br />3 [[Widgets]]<br />3 [[Wire]] || → || 2 [[Mainframes]] |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || [[Robot Arms]] || {| |- | 2 [[Chips]]</br>4 [[Reactives]]<br />8 [[Solvent]] || → || 2 [[Assembra]]<br /> 4 [[Waste]] |} |- | [[Robot Arms]] || 16384 || 4 || 64 || [[Heavy Tools]] || {| |- | 1 [[chips]]<br />1 [[Motors]]<br />2 [[Widgets]] || → || 2 [[Robot Arms]] |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 8 [[Retrograde]]<br /> 6 [[Hulls]]<br /> 24 [[Motors]] || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 16 [[Retrograde]]<br /> 8 [[Televisions]]<br /> 8 [[Luxury Rooms]] || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || [[Assembra]] || 4 [[Robot Arms]] → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || [[Assembra]] || {| |- | 8 [[Rockets]]<br /> 4 [[Retrograde]]<br /> 4 [[Hulls]]<br /> 8 [[Mainframes]] || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] f0522a981c7e817ab4a8bb27cd64d5bc9bd9a22a 148 139 2023-12-29T20:32:25Z Hiroteashi 379511 wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 [[CPU]]<br /> 2 {{Item|Wire}}|| → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | {{Item|RobotArm}} || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 [[Televisions]]<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 02a3e71fe3e92948d2e2ea20194f6b268fa14677 149 148 2023-12-29T20:32:59Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 [[CPU]]<br /> 2 {{Item|Wire}}|| → || 2 [[Televisions]] |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 [[Televisions]]<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 2c155181bb5ff2846b841ca1a2afb52024af061c 150 149 2023-12-29T20:34:12Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 [[Televisions]]<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 94c24f6dab5ba403f73d65d27c000d53133407d2 Rollercoaster Park 0 63 114 2023-12-29T18:13:26Z Hiroteashi 379511 Created page with "[[Category:Industries#special_megaprojects]] == Rollercoaster Park == One of the first Megaprojects the player will meet and is the main feature of the campaign mission [[Space Park]]. Megaprojects require set amounts of materials to complete. Once a Mega Project reaches the quota for any particular freight, then the Megaproject will stop buying it. If the player was relying on sales to the Megaproject for revenue, then this aspect can greatly affect the player's gene..." wikitext text/x-wiki [[Category:Industries#special_megaprojects]] == Rollercoaster Park == One of the first Megaprojects the player will meet and is the main feature of the campaign mission [[Space Park]]. Megaprojects require set amounts of materials to complete. Once a Mega Project reaches the quota for any particular freight, then the Megaproject will stop buying it. If the player was relying on sales to the Megaproject for revenue, then this aspect can greatly affect the player's generated income. ===Rollercoaster Park Freight Requirements=== * 512 [[Concrete]] * 256 [[Steel]] * 128 [[Widgets]] a25b683b794ee4c768be5277a950f703b4a18f0c 115 114 2023-12-29T18:19:29Z Hiroteashi 379511 /* Rollercoaster Park */ wikitext text/x-wiki [[Category:Industries#special_megaprojects]] == Rollercoaster Park == The Rollercoaster is first [[Megaproject]] the player will face in the Railgrade's campaign in the mission [[SpacePark]]. Megaprojects require a set amount of [[freight]] delivered in order to complete the project. The Megaproject will buy resources at full price until it reaches the quota for a freight. Upon reaching a freight's quota, the Megaproject cannot purchase any more of that respective freight. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. ===Freight Requirements=== * 512 [[Concrete]] * 256 [[Steel]] * 128 [[Widgets]] 88186e027c0dae752870643de0c4cc0a24d8609c File:Crude Oil.png 6 22 117 40 2023-12-29T18:32:40Z Bantha 376452 Bantha moved page [[File:CrudeOil.png]] to [[File:Crude Oil.png]] without leaving a redirect wikitext text/x-wiki == Summary == Crude Oil Freight 983ccfbcebea10ab7e899482541a0ddd62b74902 Template:Item 10 62 118 88 2023-12-29T18:39:26Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"> <span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}}; background-color:{{Item_data|{{{1}}}|color}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]] </span> [[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]] </span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> bb355f9a1569b9453ee81952dc5609aa3f58d7e5 119 118 2023-12-29T18:40:39Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"> <span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}}; background-color:{{Item_data|{{{1}}}|color}};">[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]</span> &nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> be287b3790d090c8d7ab3223675d9eeaef658b8a 120 119 2023-12-29T18:47:39Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"> <span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]</span> &nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> be046adf80d8082f10f66753f9e25f2a09ba27d6 121 120 2023-12-29T18:51:07Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]] &nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> e194aa308100bd4c8312b1b7811c1f1e0873d8cc 122 121 2023-12-29T18:57:35Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item">[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> c5dbe2a1579a66d901821c07c8daf089a3cadfd6 123 122 2023-12-29T18:58:26Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 69e5e1c1326963022e43e42acd21b319208a2784 File:Coal.png 6 19 124 37 2023-12-29T18:59:54Z Bantha 376452 Bantha moved page [[File:CoalOre.png]] to [[File:Coal.png]] wikitext text/x-wiki == Summary == Coal Ore Freight a7bdc64771d8ac697616a5043d95b98a1b2ca657 File:CoalOre.png 6 64 125 2023-12-29T18:59:54Z Bantha 376452 Bantha moved page [[File:CoalOre.png]] to [[File:Coal.png]] wikitext text/x-wiki #REDIRECT [[File:Coal.png]] d22d25166726ed216ee66f7d72f4d3bfc5b1cc70 Category:Freight 14 10 126 19 2023-12-29T19:00:35Z Bantha 376452 wikitext text/x-wiki {| class="wikitable sortable" |+ Freight |- ! Name !! Sell Price (¥) |- | {{Item|Solvent}} || 16 |- | {{Item|Water}} || 32 |- | {{Item|Crude Oil}} || 32 |- | {{Item|Coal}} || 32 |- | Silica || 32 |- | Iron || 32 |- | Copper || 32 |- | Wire || 32 |- | PaperClips || 32 |- | Plastic || 64 |- | Widgets || 64 |- | Neon Gas || 64 |- | Concrete || 64 |- | Reactives || 64 |- | Energy || 64 |- | Furniture || 64 |- | Steel || 64 |- | Salt || 64 |- | Glass || 64 |- | Motor || 64 |- | Appliances || 128 |- | Rockets || 128 |- | Signage || 256 |- | CPU || 256 |- | Heavy Tools || 256 |- | Retrograde || 256 |- | Assembra || 256 |- | Hulls || 256 |- | Luxury Rooms || 256 |- | Televisions || 512 |- | Mainframes || 512 |- | RobotArm || 512 |} 9d3bdbeb011401b5b136194037e10027b13c0eb9 File:Iron.png 6 34 127 52 2023-12-29T19:06:31Z Bantha 376452 Bantha moved page [[File:IronOre.png]] to [[File:Iron.png]] wikitext text/x-wiki == Summary == Iron Ore Freight bd2bc907a68718167dbb6f77a319bc026b62d6bd File:IronOre.png 6 65 128 2023-12-29T19:06:31Z Bantha 376452 Bantha moved page [[File:IronOre.png]] to [[File:Iron.png]] wikitext text/x-wiki #REDIRECT [[File:Iron.png]] 54f384765c4d517de479257d8036b19cfd3a2d05 Template:IndustryTableHeader 10 66 130 2023-12-29T19:20:23Z Bantha 376452 Created page with "<includeonly> {{Infobox start}} {{Infobox header | name = {{PAGENAME}} | size = 128x128px | description = [[File:{{PAGENAME}}.png|128px|]] }} {{infobox centered row|{{{description}}}}} {{Infobox section|Info}} {{Infobox row|Sell Price|{{{price}}} {{Infobox end}}</includeonly><noinclude> [[Category:Infobox templates]] </noinclude>" wikitext text/x-wiki <includeonly> {{Infobox start}} {{Infobox header | name = {{PAGENAME}} | size = 128x128px | description = [[File:{{PAGENAME}}.png|128px|]] }} {{infobox centered row|{{{description}}}}} {{Infobox section|Info}} {{Infobox row|Sell Price|{{{price}}} {{Infobox end}}</includeonly><noinclude> [[Category:Infobox templates]] </noinclude> 3d9f28358ce07fd0d7f923fb724252bf7c96aa3e 131 130 2023-12-29T19:22:25Z Bantha 376452 wikitext text/x-wiki <includeonly> {| class="infobox" |+ Infobox |- ! Title | {{#if: {{{title|}}} | {{{title}}} | No title specified }} |- ! Description | {{#if: {{{description|}}} | {{{description}}} | No description specified }} |- ! Image | {{#if: {{{image|}}} | [[File:{{{image}}}|thumb|alt=Image for the infobox]] | No image specified }} |} </includeonly><noinclude> [[Category:Infobox templates]] </noinclude> 263b0cdd1a99fd079b614225800af8ecb068e4e8 132 131 2023-12-29T19:27:17Z Bantha 376452 Replaced content with "Unused" wikitext text/x-wiki Unused 4136979d06ff082f9f315b1eebb740ff6c03f3f6 File:Copper.png 6 21 135 39 2023-12-29T20:02:43Z Hiroteashi 379511 Hiroteashi moved page [[File:CopperOre.png]] to [[File:Copper.png]] without leaving a redirect wikitext text/x-wiki == Summary == Copper Ore Freight ef6ff7907e917c3afa9d5a88daf35f9f208aaff7 File:Silica.png 6 35 136 53 2023-12-29T20:03:48Z Hiroteashi 379511 Hiroteashi moved page [[File:LimestoneOre.png]] to [[File:Silica.png]] without leaving a redirect wikitext text/x-wiki == Summary == Silica Freight 510889657994f06014ca6003b004a57c26c66aef File:Plastic.png 6 67 138 2023-12-29T20:15:09Z Hiroteashi 379511 Plastic Freight Icon wikitext text/x-wiki == Summary == Plastic Freight Icon fe4be2d8ea6b01ae563b827986ff12d61a8ebef0 File:Appliances.png 6 29 140 47 2023-12-29T20:27:05Z Hiroteashi 379511 Hiroteashi moved page [[File:Goods.png]] to [[File:Appliances.png]] without leaving a redirect wikitext text/x-wiki == Summary == Appliances Freight 9996cbf4391d9202c96215ca494bd8d1ef5a9d81 File:Heavy Tools.png 6 31 141 49 2023-12-29T20:27:43Z Hiroteashi 379511 Hiroteashi moved page [[File:HeavyTools.png]] to [[File:Heavy Tools.png]] wikitext text/x-wiki == Summary == Heavy Tools Freight e803cdb11e609d89f8ed2cdac1c006c6d0a8b67c File:HeavyTools.png 6 68 142 2023-12-29T20:27:43Z Hiroteashi 379511 Hiroteashi moved page [[File:HeavyTools.png]] to [[File:Heavy Tools.png]] wikitext text/x-wiki #REDIRECT [[File:Heavy Tools.png]] c2d8957f7bb1d18d25ce0c90bb28223db41b7e7e File:PaperClips.png 6 40 143 58 2023-12-29T20:28:25Z Hiroteashi 379511 Hiroteashi moved page [[File:PaperClip.png]] to [[File:PaperClips.png]] without leaving a redirect wikitext text/x-wiki == Summary == Paperclips Freight b2bd50210a819e2f818dd896acdc0a69360a8498 File:Luxury Rooms.png 6 36 144 54 2023-12-29T20:28:50Z Hiroteashi 379511 Hiroteashi moved page [[File:LuxuryRooms.png]] to [[File:Luxury Rooms.png]] without leaving a redirect wikitext text/x-wiki == Summary == Luxury Room Freight f7e113c25747535a44ec2ac4d2836db9ccbe8dfd File:Rockets.png 6 26 145 44 2023-12-29T20:29:33Z Hiroteashi 379511 Hiroteashi moved page [[File:Engines.png]] to [[File:Rockets.png]] without leaving a redirect wikitext text/x-wiki == Summary == Rocket Engines Freight c962de7e7b7e88cbaa2483b1350c0b25e0eae0a2 File:CPU.png 6 17 146 35 2023-12-29T20:29:55Z Hiroteashi 379511 Hiroteashi moved page [[File:Chips.png]] to [[File:CPU.png]] wikitext text/x-wiki == Summary == CPU Freight 568e320e2bcbcb29e4d9f765160ccc5562d070f9 File:Chips.png 6 69 147 2023-12-29T20:29:55Z Hiroteashi 379511 Hiroteashi moved page [[File:Chips.png]] to [[File:CPU.png]] wikitext text/x-wiki #REDIRECT [[File:CPU.png]] f1ff21c186d87b1742088af9dce44d8db766912c Category:Structures 14 9 151 150 2023-12-29T20:34:34Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 79699d34b937e1ce5f81aa47e902ce532d6762ea 154 151 2023-12-29T20:38:57Z Hiroteashi 379511 wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce freight, typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 68eba0d6bb99fd4a85aab99e4fb9faaf8811b7cf 155 154 2023-12-29T20:42:32Z Hiroteashi 379511 /* Overview */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 84bbe267487330cfa908ea2712d8c1266b3fed20 156 155 2023-12-29T20:45:51Z Hiroteashi 379511 /* Overview */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight:Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 9f06df5d6536818b6daec240b05eae5f375b2bea 157 156 2023-12-29T20:46:01Z Hiroteashi 379511 /* Overview */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1 {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1 {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1 {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2 {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] c096e9b2bf7af88fc21232321bd42a03f5c41f92 158 157 2023-12-29T21:37:42Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Coal}} → 1 {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2 {{Item|Iron}}<br />2 {{Item|Coal}} || → || 2 {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2 {{Item|Silica}} → 1 [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2 {{Item|Crude Oil}} → 1 {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2 {{Item|Coal}} → 2 {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1 {{Item|Crude Oil}}<br />1 {{Item|Water}}<br />2 {{Item|Silica}} || → || 6 {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Copper}} → 2 {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Water}} || → || 1 {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 1cf382925f9a37f1f59465fec08ed1112f2e39df 159 158 2023-12-29T21:40:17Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}</br>1 {{Item|Wire}}|| → || 1 {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2 {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1 {{Item|Plastic}} → 1 [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Silica}}<br />1 {{Item|Energy}} || → || 1 {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2 {{Item|Coal}}<br /> 1 {{Item|Energy}} || → || 1 {{Item|Reactives}}<br /> 1 {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1 {{Item|Silica}}<br /> 2 [[Wire]]<br /> 1 {{Item|Energy}} || → || 3 {{Item|Appliances}}<br /> 1 {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4 {{Item|Steel}}<br /> 2 {{Item|Plastic}}<br /> 1 {{Item|Energy}} || → || 2 {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2 {{Item|Reactives}} → 1 {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3 {{Item|Iron}}<br /> 1 {{Item|Reactives}} || → || 1 {{Item|Retrograde}}<br /> 1 {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2 {{Item|Plastic}} → 1 {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 4 {{Item|Wire}}|| → || 2 {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1 {{Item|Steel}} → 4 {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 155a26e2cb0dd143697cabcb9cf5a5fe49393ff1 160 159 2023-12-29T21:41:27Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5 {{Item|Widgets}}<br />2 {{Item|Steel}} || → || 2 {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3 {{Item|Silica}}<br />1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1 {{Item|CPU}}<br />1 {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Glass}}</br>1 {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2 {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|Hulls}}<br />2 {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1 {{Item|Luxury Rooms}}<br />2 {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1 {{Item|Steel}}<br /> 1 {{Item|Widgets}}<br /> 1 {{Item|Motor}} || → || 1 {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 9f7d4203cd916e2e690d29c22bd60ed4a76c01be 161 160 2023-12-29T21:42:50Z Hiroteashi 379511 /* Industry Tier 3 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1 {{Item|Glass}}<br />1 {{Item|CPU}}<br /> 2 {{Item|Wire}}|| → || 2 {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}<br />3 {{Item|Widgets}}<br />3 {{Item|Wire}}|| → || 2 {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2 {{Item|CPU}}</br>4 {{Item|Reactives}}<br />8 {{Item|Solvent}} || → || 2 {{Item|Assembra}}<br /> 4 {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1 {{Item|CPU}}<br />1 {{Item|Motor}}<br />2 {{Item|Widgets}} || → || 2 {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 8 {{Item|Retrograde}}<br /> 6 {{Item|Hulls}}<br /> 24 {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 16 {{Item|Retrograde}}<br /> 8 {{Item|Televisions}}<br /> 8 {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] d307b2e4070836848579f90219e505cd1fab56af 162 161 2023-12-29T21:43:57Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4 {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8 {{Item|Rockets}}<br /> 4 {{Item|Retrograde}}<br /> 4 {{Item|Hulls}}<br /> 8 {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 35c6f9a8f98cbf2d946ccd08a33e3d6b0ba0a80f 163 162 2023-12-29T21:44:23Z Hiroteashi 379511 /* Industry Tier 5 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || 4x {{Item|RobotArm}} → ∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || → || ∅ |} |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] e2f7dec9da7a4f982e8976c8496ca366fb92b705 164 163 2023-12-30T02:03:25Z Hiroteashi 379511 /* Industry Tier 5 */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 9a050e38d7939643b04e653356e4754c4b9376e3 166 164 2024-01-01T14:37:50Z Hiroteashi 379511 Hiroteashi moved page [[Category:Industries]] to [[Category:Structures]] without leaving a redirect: better categorization wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 9a050e38d7939643b04e653356e4754c4b9376e3 169 166 2024-01-01T14:39:03Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction Industries |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 790dcaa0d4e167488f4f269d446f1b678b206e57 170 169 2024-01-01T14:39:20Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). === Resource Extraction === {| class="wikitable sortable" |+ Resource Extraction Industry |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} === Industry Tier 2=== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} === Industry Tier 3=== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} === Industry Tier 4=== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} === Industry Tier 5=== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Special Infrastructure === * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Special Megaprojects === * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] ee2a6ee26e0b679fb9b26386f40b0cb3f48eb702 171 170 2024-01-01T15:01:57Z Hiroteashi 379511 wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rails Tiles === Tiles that dictate how the player's [[:Engines|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Rails]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 1ce0c5161ba72122dad2faa3f1ba0b11d9601ef0 172 171 2024-01-01T15:02:58Z Hiroteashi 379511 /* Rails Tiles */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} === Industry Tier 1 === {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rails Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Rails]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] eec186fcba790cd5d1dc86333398214efe363d2e 175 172 2024-01-01T15:49:43Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rails Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Rails]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] e2a78f3e19f32292a3a5a5b135e63cb2abf8d388 176 175 2024-01-01T15:50:02Z Hiroteashi 379511 /* Rails Tiles */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Rails]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 4cd2242a7f477646f2d7ddccfea00ced30a7742e 177 176 2024-01-01T15:52:53Z Hiroteashi 379511 /* Rail Tiles */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 0da81a2079b302950f8e9c37f052f2988a3c6f46 200 177 2024-01-01T16:59:12Z Hiroteashi 379511 /* Infrastructure */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! Name !! Price (¥) !! Recipe Time (s) !! Catalyst !! class="unsortable | Recipe |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ → 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ → 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ → 2x {{Item|Silica}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 83d117e5f978667040dabdc3f3fde02269e9e36d 201 200 2024-01-01T17:06:55Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Recipe Time (s) !! rowspan="2"|Catalyst !! colspan="2";class="unsortable | Recipe |- ! class="unsortable |Input !! class="unsortable |Output |- | [[Water Pump]] || 1024 || 16 || {{Item|Energy}} || ∅ || 1x {{Item|Water}} |- | [[Oil Well]] || 1024 || 16 || {{Item|Water}} || ∅ || 1x {{Item|Crude Oil}} |- | [[Geothermal]] || 4096 || 16 || {{Item|Water}} || ∅ || 1x {{Item|Energy}} |- | [[Coal Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ || 1x {{Item|Coal}} |- | [[Copper Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ || 1x {{Item|Copper}} |- | [[Iron Mine]] || 1024 || 16 || {{Item|Waste}} || ∅ || 2x {{Item|Iron}} |- | [[Silica Quarry]] || 1024 || 16 || {{Item|Waste}} || ∅ || 2x {{Item|Silica}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 8f5fee4c60335eafe796a8f5c06902de0e8edfb7 Category:Freight 14 10 152 126 2023-12-29T20:37:41Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable sortable" |+ Freight |- ! Name !! Sell Value (¥) |- | {{Item|Solvent}} || 16 |- | {{Item|Water}} || 32 |- | {{Item|Crude Oil}} || 32 |- | {{Item|Coal}} || 32 |- | {{Item|Silica}} || 32 |- | {{Item|Iron}} || 32 |- | {{Item|Copper}} || 32 |- | {{Item|Wire}} || 32 |- | {{Item|PaperClips}} || 32 |- | {{Item|Plastic}} || 64 |- | {{Item|Widgets}} || 64 |- | {{Item|Neon Gas}} || 64 |- | {{Item|Concrete}} || 64 |- | {{Item|Reactives}} || 64 |- | {{Item|Energy}} || 64 |- | {{Item|Furniture}} || 64 |- | {{Item|Steel}} || 64 |- | {{Item|Salt}} || 64 |- | {{Item|Glass}} || 64 |- | {{Item|Motor}} || 64 |- | {{Item|Appliances}} || 128 |- | {{Item|Rockets}} || 128 |- | {{Item|Signage}} || 256 |- | {{Item|CPU}} || 256 |- | {{Item|Heavy Tools}} || 256 |- | {{Item|Retrograde}} || 256 |- | {{Item|Assembra}} || 256 |- | {{Item|Hulls}} || 256 |- | {{Item|Luxury Rooms}} || 256 |- | {{Item|Televisions}} || 512 |- | {{Item|Mainframes}} || 512 |- | {{Item|RobotArm}} || 512 |} ece1488158e703c7872e80620522d75bc6cb2bcb 174 152 2024-01-01T15:49:20Z Hiroteashi 379511 wikitext text/x-wiki == Freight == Freight are the valuable commodities that are loaded onto the player's trains and sold at [[:category:structures#industries|Industries]] for revenue. Freight can only be loaded onto an empty {{item|flatbed}} of its originally chosen freight type. {| class="wikitable sortable" |+ Freight |- ! Name !! Sell Value (¥) |- | {{Item|Solvent}} || 16 |- | {{Item|Water}} || 32 |- | {{Item|Crude Oil}} || 32 |- | {{Item|Coal}} || 32 |- | {{Item|Silica}} || 32 |- | {{Item|Iron}} || 32 |- | {{Item|Copper}} || 32 |- | {{Item|Wire}} || 32 |- | {{Item|PaperClips}} || 32 |- | {{Item|Plastic}} || 64 |- | {{Item|Widgets}} || 64 |- | {{Item|Neon Gas}} || 64 |- | {{Item|Concrete}} || 64 |- | {{Item|Reactives}} || 64 |- | {{Item|Energy}} || 64 |- | {{Item|Furniture}} || 64 |- | {{Item|Steel}} || 64 |- | {{Item|Salt}} || 64 |- | {{Item|Glass}} || 64 |- | {{Item|Motor}} || 64 |- | {{Item|Appliances}} || 128 |- | {{Item|Rockets}} || 128 |- | {{Item|Signage}} || 256 |- | {{Item|CPU}} || 256 |- | {{Item|Heavy Tools}} || 256 |- | {{Item|Retrograde}} || 256 |- | {{Item|Assembra}} || 256 |- | {{Item|Hulls}} || 256 |- | {{Item|Luxury Rooms}} || 256 |- | {{Item|Televisions}} || 512 |- | {{Item|Mainframes}} || 512 |- | {{Item|RobotArm}} || 512 |} f8a4689352403cbcbd62630cb1af9d544b26ec47 File:Neon Gas.png 6 39 153 57 2023-12-29T20:38:06Z Hiroteashi 379511 Hiroteashi moved page [[File:Neon.png]] to [[File:Neon Gas.png]] without leaving a redirect wikitext text/x-wiki == Summary == Neon Freight 89fe5d40b67957e0e6c16ec03c9e868d88a5efc6 Category:Trains 14 8 165 12 2024-01-01T14:35:00Z Hiroteashi 379511 /* List of Trains */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. === List of Trains === {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | Boiler || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | Workhorse || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | C.U.S.T.O.M || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher|Voucher Purchase]] |- | Kettle || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | Industrial || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | Diesel Deluxe || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher|Voucher Purchase]] |- | Spark || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 Warning]] and [[Voucher|Voucher Unlock]] |- | Rescue || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher|Voucher Purchase]] |- | Bullet || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher|Voucher Purchase]] |} af37c8224513d5311b480271d50f2f21e26a373f 189 165 2024-01-01T16:43:58Z Hiroteashi 379511 /* List of Trains */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. === List of Trains === {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 Warning]] and [[Voucher|Voucher Unlock]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher|Voucher Purchase]] |} 82fa04c886de4c35987c3d80764cb528daa09809 190 189 2024-01-01T16:45:46Z Hiroteashi 379511 /* Stat Definitions */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. === List of Trains === {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 Warning]] and [[Voucher|Voucher Unlock]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher|Voucher Purchase]] |} a040a24827cf0a7c136ee0df2ad62f4c23c33b64 192 190 2024-01-01T16:47:02Z Hiroteashi 379511 /* List of Trains */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Trains == {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 Warning]] and [[Voucher|Voucher Unlock]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher|Voucher Purchase]] |} 5043fb521b2008440e0d424181c52ca9cc48f6ee 193 192 2024-01-01T16:47:39Z Hiroteashi 379511 /* Stat Definitions */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Trains == {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 Warning]] and [[Voucher|Voucher Unlock]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher|Voucher Purchase]] |} 77289f0782f8559a4c4439d6a1fa33e0edb4a654 194 193 2024-01-01T16:51:43Z Hiroteashi 379511 /* List of Trains */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 Warning]] and [[Voucher|Voucher Unlock]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher|Voucher Purchase]] |} caa81436061b999f7e1a360baf2350b15b5ddbc2 195 194 2024-01-01T16:54:43Z Hiroteashi 379511 /* List of Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 Warning]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Shop|Voucher Purchase]] |} b29c65ed85d64cb0756d9cd10b6d32d2fce65fb1 Railgrade Wiki 0 1 167 17 2024-01-01T14:38:21Z Hiroteashi 379511 /* Topics */ wikitext text/x-wiki == Welcome to the Official RAILGRADE Wiki == === About RAILGRADE === RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! === Features === * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! === Topics === * [[:category:Placeable Structures and Buildings|Structures ]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] c8478926043f6e934cbebabd2f9d2b67cbd41b5b 168 167 2024-01-01T14:38:38Z Hiroteashi 379511 /* Topics */ wikitext text/x-wiki == Welcome to the Official RAILGRADE Wiki == === About RAILGRADE === RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! === Features === * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! === Topics === * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <strong>MediaWiki has been installed.</strong> Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User's Guide] for information on using the wiki software. == Getting started == * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ] * [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language] * [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki] aeb2c62b5779b414a60e51f2d620a478f0f858e6 File:Flatbed.png 6 70 173 2024-01-01T15:14:29Z Hiroteashi 379511 Flatbed Icon wikitext text/x-wiki == Summary == Flatbed Icon 842282c223579b90bde79d6a1c694ad8d09a440b Solvent 0 12 178 26 2024-01-01T16:08:28Z Hiroteashi 379511 /* Production Recipes */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[Solva]] || 1x {{item|Crude Oil}}<br>1x {{item|Water}}<br>2x {{item|Silicon}} || 6x {{item|Solvent}}<br>1x {{item|Waste}} || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent<br>4 [[Reactives]]<br>2 [[Chips]] || 2 [[Assembra]]<br>4 [[Waste]] || 64 |- | [[terraformer|Reclaimation Engine]] || 6 Solvent<br>2 [[Energy]] || 8 [[Coal]]<br>4 [[Iron]]<br>2 [[Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] c72cf7e10dbd27123919893d82a7f0264fdfa9f7 179 178 2024-01-01T16:08:47Z Hiroteashi 379511 /* Production Recipes */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[Solva]] || 1x {{item|Crude Oil}}<br>1x {{item|Water}}<br>2x {{item|Silica}} || 6x {{item|Solvent}}<br>1x {{item|Waste}} || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8 Solvent<br>4 [[Reactives]]<br>2 [[Chips]] || 2 [[Assembra]]<br>4 [[Waste]] || 64 |- | [[terraformer|Reclaimation Engine]] || 6 Solvent<br>2 [[Energy]] || 8 [[Coal]]<br>4 [[Iron]]<br>2 [[Copper]] || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] 6828e6ae606ba0bca5a8123559994625ebcc673e 180 179 2024-01-01T16:12:04Z Hiroteashi 379511 /* Direct Consumers */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {| class="wikitable" |+ Production |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[Solva]] || 1x {{item|Crude Oil}}<br>1x {{item|Water}}<br>2x {{item|Silica}} || 6x {{item|Solvent}}<br>1x {{item|Waste}} || 32 |- |} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8x {{Item|Solvent}}<br>4x {{item|Reactives}}<br>2x {{item|CPU}} || 2x {{item|Assembra}}<br>4x {{item|Waste}} || 64 |- | [[terraformer|Reclaimation Engine]] || 6x {{Item|Solvent}}<br>2x {{item|Energy}} || 8x {{item|Coal}}<br>4x {{item|Iron}}<br>2x {{item|Copper}} || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] 0a7cb9abadccfced75150c7cdbfab0b60765ad4a File:Rescue.png 6 47 181 65 2024-01-01T16:41:04Z Hiroteashi 379511 Hiroteashi moved page [[File:RescueEngine.png]] to [[File:Rescue.png]] without leaving a redirect wikitext text/x-wiki == Summary == Rescue Engine ccc4c635e5d8853d0feea1d030e5b77c3ac8b4ba File:Spark.png 6 33 182 51 2024-01-01T16:41:20Z Hiroteashi 379511 Hiroteashi moved page [[File:HybridEngine.png]] to [[File:Spark.png]] without leaving a redirect wikitext text/x-wiki == Summary == Spark Engine 47e971af8f21078328be5c2d5c699b61d32544f8 File:Kettle.png 6 30 183 48 2024-01-01T16:41:30Z Hiroteashi 379511 Hiroteashi moved page [[File:HeavySteamEngine.png]] to [[File:Kettle.png]] without leaving a redirect wikitext text/x-wiki == Summary == Kettle Engine 392e44c3196425e9124039a56fcd484c3b2b4970 File:Diesel Deluxe.png 6 24 184 42 2024-01-01T16:41:50Z Hiroteashi 379511 Hiroteashi moved page [[File:DieselEngine.png]] to [[File:Diesel Deluxe.png]] without leaving a redirect wikitext text/x-wiki == Summary == Diesel Deluxe Engine 6c83abd837710a69e4e110f05aa0319402c7809c File:CUSTOM.png 6 23 185 41 2024-01-01T16:42:06Z Hiroteashi 379511 Hiroteashi moved page [[File:CustomWorkhorseEngine.png]] to [[File:Custom.png]] without leaving a redirect wikitext text/x-wiki == Summary == CUSTOM Engine 08208130a66aff7a42b20cdac5f922d91a77efc0 File:Industrial.png 6 18 186 36 2024-01-01T16:42:24Z Hiroteashi 379511 Hiroteashi moved page [[File:ClimberEngine.png]] to [[File:Industrial.png]] without leaving a redirect wikitext text/x-wiki == Summary == Industrial Engine 615dc91c781bb0612fccf44e1ccfcc6531010758 File:Bullet.png 6 16 187 32 2024-01-01T16:42:37Z Hiroteashi 379511 Hiroteashi moved page [[File:BulletEngine.png]] to [[File:Bullet.png]] without leaving a redirect wikitext text/x-wiki == Summary == Bullet Engine 0a4ee2c4fd0ae97ffbc9727195f217426697d738 File:Workhorse.png 6 14 188 33 2024-01-01T16:42:51Z Hiroteashi 379511 Hiroteashi moved page [[File:BasicEngine.png]] to [[File:Workhorse.png]] without leaving a redirect wikitext text/x-wiki == Summary == Workhorse Engine 7d1610816e6712446d2baca21eb9ac9cc7060aea File:Boiler.png 6 54 191 72 2024-01-01T16:46:07Z Hiroteashi 379511 Hiroteashi moved page [[File:SteamEngine.png]] to [[File:Boiler.png]] without leaving a redirect wikitext text/x-wiki == Summary == Boiler Engine bd92f5e3860e65d5fede286e800e62c95be70c62 File:Voucher Exchange.png 6 44 196 62 2024-01-01T16:56:18Z Hiroteashi 379511 Hiroteashi moved page [[File:Placeable voucherexchange.png]] to [[File:Voucher Exchange.png]] wikitext text/x-wiki == Summary == Voucher Exchange Structure 6cac5b4200b6280f6b707ef6681a6bddd4bda46a 199 196 2024-01-01T16:58:04Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == [[File:Voucher Exchange.png|thumb|alt=Voucher Exchange Structure|Voucher Exchange Structure]] b5909df68e26d5743f7f33f7e1a6976b1ecaa884 File:Placeable voucherexchange.png 6 71 197 2024-01-01T16:56:18Z Hiroteashi 379511 Hiroteashi moved page [[File:Placeable voucherexchange.png]] to [[File:Voucher Exchange.png]] wikitext text/x-wiki #REDIRECT [[File:Voucher Exchange.png]] ebd0554df975fda4b7c6e3ab4fbd146bfce542c2 Category:Structures 14 9 202 201 2024-01-01T17:09:26Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Recipe Time (s) !! colspan="2";class="unsortable | Recipe !! rowspan="2"|Catalyst |- ! class="unsortable |Input !! class="unsortable |Output |- | [[Water Pump]] || 1024 || 16 || ∅ || 1x {{Item|Water}} || {{Item|Energy}} |- | [[Oil Well]] || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} |- | [[Geothermal]] || 4096 || 16 || ∅ || 1x {{Item|Energy}} || {{Item|Water}} |- | [[Coal Mine]] || 1024 || 16 || ∅ || 1x {{Item|Coal}} || {{Item|Waste}} |- | [[Copper Mine]] || 1024 || 16 || ∅ || 1x {{Item|Copper}} || {{Item|Waste}} |- | [[Iron Mine]] || 1024 || 16 || ∅ || 2x {{Item|Iron}} || {{Item|Waste}} |- | [[Silica Quarry]] || 1024 || 16 || ∅ || 2x {{Item|Silica}} || {{Item|Waste}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 7597fd6a102bb3d2a83ab2aafbb6946928a1c2c1 250 202 2024-01-04T23:03:06Z Bantha 376452 wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Recipe Time (s) !! colspan="2";class="unsortable | Recipe !! rowspan="2"|Catalyst |- ! class="unsortable |Input !! class="unsortable |Output |- | [[Water Pump]] || 1024 || 16 || ∅ || 1x {{Item|Water}} || {{Item|Energy}} {{IndustryDetail| name = Crude Oil | cost = 9999 | catalyst = Water | recipeTime = 123 | in1 = Crude Oil | in1Ct = 3 | in2 = Water | in2Ct = 4 | out1 = Energy | out1Ct = 1 | out2 = Iron | out2Ct = 22 }} {{IndustryDetail| name = Crude Oil | cost = 9999 | catalyst = Water | recipeTime = 123 | in1 = Crude Oil | in1Ct = 3 | in2 = Water | in2Ct = 4 | out1 = Energy | out1Ct = 1 | out2 = Iron | out2Ct = 22 }} {{IndustryDetail| name = Crude Oil | cost = 9999 | catalyst = Water | recipeTime = 123 | in1 = Crude Oil | in1Ct = 3 | in2 = Water | in2Ct = 4 | out1 = Energy | out1Ct = 1 | out2 = Iron | out2Ct = 22 }} |- | [[Oil Well]] || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} |- | [[Geothermal]] || 4096 || 16 || ∅ || 1x {{Item|Energy}} || {{Item|Water}} |- | [[Coal Mine]] || 1024 || 16 || ∅ || 1x {{Item|Coal}} || {{Item|Waste}} |- | [[Copper Mine]] || 1024 || 16 || ∅ || 1x {{Item|Copper}} || {{Item|Waste}} |- | [[Iron Mine]] || 1024 || 16 || ∅ || 2x {{Item|Iron}} || {{Item|Waste}} |- | [[Silica Quarry]] || 1024 || 16 || ∅ || 2x {{Item|Silica}} || {{Item|Waste}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] b5398991ebd3baff0e48cc125412f6e7b5496f23 Rollercoaster Park 0 63 203 115 2024-01-01T17:11:56Z Hiroteashi 379511 wikitext text/x-wiki [[Category:structures#special_megaprojects]] == Rollercoaster Park == The Rollercoaster is first [[Megaproject]] the player will face in the Railgrade's campaign in the mission [[SpacePark]]. Megaprojects require a set amount of [[freight]] delivered in order to complete the project. The Megaproject will buy resources at full price until it reaches the quota for a freight. Upon reaching a freight's quota, the Megaproject cannot purchase any more of that respective freight. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. ===Freight Requirements=== * 512 [[Concrete]] * 256 [[Steel]] * 128 [[Widgets]] 6bf31a8a1adde3008c27bf8b1a2846b2942cc427 Voucher Exchange 0 73 204 2024-01-01T17:14:43Z Hiroteashi 379511 Created page with "{{file:voucher exchange.png}}" wikitext text/x-wiki {{file:voucher exchange.png}} f82fd099404bceef3a72d6c6617794efe2127483 205 204 2024-01-01T17:15:55Z Hiroteashi 379511 wikitext text/x-wiki [[file:voucher exchange.png]] 894159eaa36c0b9f709cf1fd1a3954f0e1617122 206 205 2024-01-01T17:16:16Z Hiroteashi 379511 wikitext text/x-wiki [[file:voucher_exchange.png]] 08300481fcc80bdacbc1909db9187aadc73c948d 207 206 2024-01-01T17:17:43Z Hiroteashi 379511 wikitext text/x-wiki [[file:Voucher Exchange.png]] fdb6bdc9a47ee7e0202d5acf257cc7a31464b03f 208 207 2024-01-01T17:23:32Z Hiroteashi 379511 wikitext text/x-wiki [[file:Voucher Exchange.png]] ==Information== A campaign only structure that comes pre-placed on the map. This is the location where the player spends the [[vouchers]] gained from earning ranks in the [[:category:missions|story campaign]]. 05121978e91d6240e457fc246966ebd165f1ed0d Railgrade Wiki 0 1 209 168 2024-01-01T17:24:01Z Hiroteashi 379511 wikitext text/x-wiki == Welcome to the Official RAILGRADE Wiki == === About RAILGRADE === RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! === Features === * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! === Topics === * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] de8c9e3f7f9666230613501e21022d50f4037e7a Template:ItemLarge 10 74 210 2024-01-04T21:25:15Z Bantha 376452 Created page with "<includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude>" wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> a2bfddcb67240a01e47566221e40b5b18db9d68e 211 210 2024-01-04T21:26:01Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 15e67b218f1a5bab7ceb1cc60f46c761620ea85f 212 211 2024-01-04T21:26:47Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />{{center|[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]}}</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> bbf73d34c9fc533dfe77a489294817c4615e39a3 213 212 2024-01-04T21:27:28Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br /><div style="text-align: center;">[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]}}</div></span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 35dd75564096b19207da920f6d067f6649c39f74 214 213 2024-01-04T21:27:47Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br /><div style="text-align: center;">[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</div></span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> d3678ed4acdde09f5a97284bba5216641e32c598 215 214 2024-01-04T21:29:53Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};text-align: center;">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 322902cd548bd80f292c429b7f85d101cb1a2307 216 215 2024-01-04T21:31:56Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 16dd4a4798155d3606087132cbdfd917c3353ab6 217 216 2024-01-04T21:37:50Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}'''}]]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 370741ea287db1bcb5596991428be792090ebcca 218 217 2024-01-04T21:38:49Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />[[:{{{link|{{{1}}}}}}|''{{{text|{{{1}}}}}}'']]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 6e88cfce37067b0eb2047c58c94c98fb1fedaa52 219 218 2024-01-04T21:39:05Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 2a70f82ac87d5259abb2cd90d681a65833deeb59 237 219 2024-01-04T22:30:18Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};text-align: center;">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> ae8e16a55869eb3f876a9a1284fa10ac5afbb53e 238 237 2024-01-04T22:30:52Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};text-align:center;">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br />[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 8ca414aeceae1dff2bd57ee8e6bf6354e6c5b831 239 238 2024-01-04T22:31:41Z Bantha 376452 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};text-align:center;">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br /><div style = "text-align:center">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</div></span></span></includeonly><noinclude> [[Category:Formatting templates]] </noinclude> 675fdea73256cceaa068f2c2305c7affa55468f3 Template:IndustryDetail 10 75 220 2024-01-04T21:48:01Z Bantha 376452 Created page with " | [[Oil Well]] || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}}" wikitext text/x-wiki | [[Oil Well]] || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 99c7593f0fb2f72cf715076c67f8f7a5ad6649ba 221 220 2024-01-04T21:49:11Z Bantha 376452 wikitext text/x-wiki |- | [[Oil Well]] || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 35657e827f17cf01adc3c0feb805f0e58676df85 222 221 2024-01-04T22:10:30Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|{{{name}}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 5dca85ef1e484ea55ed71da44b72c7dce66beb5c 223 222 2024-01-04T22:15:30Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|Placeable_workerhousing || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 7fc0ab7748f754375dc8f305a233a010e0e17b06 224 223 2024-01-04T22:15:59Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|Crude Oil || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 8a84e1625394f495420129fe37a7f1cde7828c27 225 224 2024-01-04T22:17:30Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|{{{name}}}}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 768f409fd8740335f5d76dc8fdc4778fe8190a05 226 225 2024-01-04T22:20:23Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|{{{1}}}}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} de0c70d2b3f5b0ee110a7ad35e04e09eb40e8f4b 227 226 2024-01-04T22:20:52Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|Crude Oil} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 0811b9f0e2683ca0ec1318884683880ae8b67f4d 228 227 2024-01-04T22:21:04Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|Crude Oil}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} cedcfd03236ef9a2cc3636ec1b38baa1eae3b9c7 229 228 2024-01-04T22:21:21Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|{{{1}}}}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} de0c70d2b3f5b0ee110a7ad35e04e09eb40e8f4b 230 229 2024-01-04T22:22:45Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|1 = {{{1}}}}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 09e081e593e069c38f627614e57723fa5a52a079 231 230 2024-01-04T22:23:26Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|Crude Oil}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} cedcfd03236ef9a2cc3636ec1b38baa1eae3b9c7 232 231 2024-01-04T22:25:22Z Bantha 376452 wikitext text/x-wiki |- | {{{1}}} || {{ItemLarge|Crude Oil}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 036a1b3de10dd347f9022914950a29c2568a262d 233 232 2024-01-04T22:26:37Z Bantha 376452 wikitext text/x-wiki |- | {{{1|}}} || {{ItemLarge|Crude Oil}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} d613fe128b366340ccb8e72cd36383022befe3bd 234 233 2024-01-04T22:28:03Z Bantha 376452 wikitext text/x-wiki |- | {{{name|}}} || {{ItemLarge|Crude Oil}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} 69e6d0ae6eb93611177b1fb8016ae8d3dc1aac0a 235 234 2024-01-04T22:28:38Z Bantha 376452 wikitext text/x-wiki |- | {{ItemLarge|{{{name|}}}}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} b7db34c7d23121067da45fabe3dc966b085935d6 236 235 2024-01-04T22:29:20Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|}}}}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} </includeonly> c1e121a51f4961ef508df5693a94c80f01d845c9 240 236 2024-01-04T22:35:45Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || 1024 || 16 || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} </includeonly> d48f0ce2b38b87460868a5285919cc56ec3e97fb 241 240 2024-01-04T22:37:36Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{recipeTime|16}}} || ∅ || 1x {{Item|Crude Oil}} || {{Item|Water}} </includeonly> e8f836c6ce8650d72dbbd465e1c846d1b159d2bd 242 241 2024-01-04T22:42:01Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{recipeTime|16}}} || {{{inputs}}} || {{{outputs}}} || {{{catalyst}}}}} </includeonly> 244817bd47c36b08da26b77a4ec3729f93e91f6a 243 242 2024-01-04T22:42:49Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{recipeTime|16}}} || {{{inputs}}} || {{{outputs}}} || {{{catalyst}}}}} </includeonly> 9771ba0bd3ecce20b8c0a38ca3a08d95bd84536f 244 243 2024-01-04T22:45:11Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{Item|{{{in1}}}}} | }}{{#if: {{{in2|}}} | <br />{{Item|{{{in2}}}}} | }} || {{{outputs}}} || {{{catalyst}}}}} </includeonly> b7aa617b0b7911888e72a5565e8c262b30111dfd 245 244 2024-01-04T22:47:15Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }} || {{{outputs}}} || {{{catalyst}}}}} </includeonly> b1b03413d8da56b1aad399fbdc6f09e4fd343930 246 245 2024-01-04T22:50:12Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{{catalyst}}}}} </includeonly> 1853fa275c12db6dd790acfd5bb802a37f08ea87 247 246 2024-01-04T22:53:08Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly> 7ffb65572edf5e05c506a0fefc9c3431b49dabf4 248 247 2024-01-04T22:55:27Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly> 550b2d5789c2be740f2cd2a4ebeefb8157274c92 249 248 2024-01-04T22:56:04Z Bantha 376452 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly> 07df4fd7353f380f83550981a96310bdbb58b1be File:Tool Die.png 6 76 251 2024-01-05T19:39:02Z Hiroteashi 379511 Tool Die Industry wikitext text/x-wiki == Summary == Tool Die Industry 06f7f6e55bec72925b83e305c542e7199b90d14a File:Armory.png 6 77 252 2024-01-05T19:39:34Z Hiroteashi 379511 Armory Industry wikitext text/x-wiki == Summary == Armory Industry 1710c34d15d2cad4c49fc84043a3e82da26bbe91 File:Booster Plant.png 6 78 253 2024-01-05T19:46:34Z Hiroteashi 379511 Booster Plant Industry wikitext text/x-wiki == Summary == Booster Plant Industry 85c66f607dcb2ead121e67c79b39ff4e8abe9ebd File:CPU Fab.png 6 79 254 2024-01-05T19:48:34Z Hiroteashi 379511 CPU Fab Industry wikitext text/x-wiki == Summary == CPU Fab Industry e82107ffbfdf06ffc94be34217f5f0b681b009ef File:Coal Mine.png 6 80 255 2024-01-05T19:49:32Z Hiroteashi 379511 Coal Mine Industry wikitext text/x-wiki == Summary == Coal Mine Industry d37ea29d459c574aba0efdd4206b877e9e93bf17 File:Coal Powerplant.png 6 81 256 2024-01-05T19:50:37Z Hiroteashi 379511 Coal Powerplant Industry wikitext text/x-wiki == Summary == Coal Powerplant Industry efc89d5ec8cc389dd9e8b288d49358d46ed62165 File:Compute Platform.png 6 82 257 2024-01-05T19:52:41Z Hiroteashi 379511 Compute Platform Industry wikitext text/x-wiki == Summary == Compute Platform Industry 5b2584f4e9afd6f78df8910597d5f77e3d2c0f73 File:Concrete Supports.png 6 83 258 2024-01-05T19:53:35Z Hiroteashi 379511 Concrete Supported Railing wikitext text/x-wiki == Summary == Concrete Supported Railing f78ea397848f1820cbbe87753945e65edf574aa8 File:Concrete Yard.png 6 84 259 2024-01-05T19:54:09Z Hiroteashi 379511 Concrete Yard Industry wikitext text/x-wiki == Summary == Concrete Yard Industry 7e645c2c6179084b99afe585929f73798562deab File:Wire Coiler.png 6 85 260 2024-01-05T19:55:19Z Hiroteashi 379511 Wire Coiler Industry wikitext text/x-wiki == Summary == Wire Coiler Industry 42361bb4f6a18c9146151a482158c678ad2d52b6 File:Electronics Fab.png 6 86 261 2024-01-05T19:55:45Z Hiroteashi 379511 Electronics Fab Industry wikitext text/x-wiki == Summary == Electronics Fab Industry fec451108ddda9fc1d50dd1e42a4771b39d047e2 File:Framer.png 6 87 262 2024-01-05T19:57:37Z Hiroteashi 379511 Framer Industry wikitext text/x-wiki == Summary == Framer Industry b97ce92aedab35dcc78d54a6eb9a3275dc559a78 File:Furniture Assembler.png 6 88 263 2024-01-05T19:58:09Z Hiroteashi 379511 Furniture Assembler Industry wikitext text/x-wiki == Summary == Furniture Assembler Industry 8232f3daf0a87b014dc5f270b8df6c9f6ff0c517 File:Geothermal.png 6 89 264 2024-01-05T19:59:36Z Hiroteashi 379511 Geothermal Industry wikitext text/x-wiki == Summary == Geothermal Industry be99210ffb471b70bfbd3cb3c533ff613e4f78a2 File:Glass Smelter.png 6 90 265 2024-01-05T20:00:41Z Hiroteashi 379511 Glass Smelter Industry wikitext text/x-wiki == Summary == Glass Smelter Industry 1fd61f4cf426e0384e987bd8794b41fbd41a6d52 File:Appliance Plant.png 6 91 266 2024-01-05T20:01:17Z Hiroteashi 379511 Appliance Plant Industry wikitext text/x-wiki == Summary == Appliance Plant Industry 2e0871c6d11c891852bac14e891d4e2e8efe0ae1 File:Grey Assembly.png 6 92 267 2024-01-05T20:02:27Z Hiroteashi 379511 Grey Assembly Industry wikitext text/x-wiki == Summary == Grey Assembly Industry 2153d87554710bd741678cd29ec580a50c142959 File:Research Center.png 6 93 268 2024-01-05T20:05:34Z Hiroteashi 379511 Data Center Industry wikitext text/x-wiki == Summary == Data Center Industry cb36592f24cec8a18212d2af81d3034a663d416e 300 268 2024-01-05T20:50:35Z Hiroteashi 379511 Hiroteashi moved page [[File:Data Center.png]] to [[File:Research Center.png]] without leaving a redirect wikitext text/x-wiki == Summary == Data Center Industry cb36592f24cec8a18212d2af81d3034a663d416e 301 300 2024-01-05T20:50:49Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == Research Center Industry e166706fe65c1c6e9736220a9c7b3e76feb2027e File:Hardmold.png 6 94 269 2024-01-05T20:06:58Z Hiroteashi 379511 Hard Mold Industry wikitext text/x-wiki == Summary == Hard Mold Industry 5b36986e123ca0a701c9aedf6115a368d5b25590 270 269 2024-01-05T20:07:30Z Hiroteashi 379511 Hiroteashi moved page [[File:Hard Mold.png]] to [[File:Hardmold.png]] without leaving a redirect wikitext text/x-wiki == Summary == Hard Mold Industry 5b36986e123ca0a701c9aedf6115a368d5b25590 271 270 2024-01-05T20:07:46Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == Hardmold Industry e64eb0fb4e58e8f6661f609a50270fd063368ea6 File:Regional HeadQuarters.png 6 95 272 2024-01-05T20:11:59Z Hiroteashi 379511 Company Headquarters Megaproject wikitext text/x-wiki == Summary == Company Headquarters Megaproject e99f9f66326581056234a9942c473d1dcf0e9522 File:Heavyworks.png 6 96 273 2024-01-05T20:16:42Z Hiroteashi 379511 Heavyworks Industry wikitext text/x-wiki == Summary == Heavyworks Industry 42af7550e50d38f90b2649a4f88c326188c6733a File:Hullyard.png 6 97 274 2024-01-05T20:18:28Z Hiroteashi 379511 Hullyard Industry wikitext text/x-wiki == Summary == Hullyard Industry 662f8cd73ce3d59be5a989a34a1b59da394a8d3a File:Import Dock.png 6 98 275 2024-01-05T20:20:20Z Hiroteashi 379511 Import Dock Industry wikitext text/x-wiki == Summary == Import Dock Industry 237827172fca991af6d977fd0d91cafc175fc67c File:Incinerator.png 6 99 276 2024-01-05T20:20:46Z Hiroteashi 379511 Incinerator Industry wikitext text/x-wiki == Summary == Incinerator Industry 70563c724c73bc939c03c772c1358fce14eefc6e File:Luxury Assembler.png 6 100 277 2024-01-05T20:21:33Z Hiroteashi 379511 Luxury Assembler Industry wikitext text/x-wiki == Summary == Luxury Assembler Industry 0486f852a928b3ce0a19ffb80a08dfd3ea67ff59 File:The Mechanist.png 6 101 278 2024-01-05T20:22:24Z Hiroteashi 379511 The Mechanist Industry wikitext text/x-wiki == Summary == The Mechanist Industry 2a2544848759afbd71b77ddb2ed8b5fb1c725236 File:Copper Mine.png 6 102 279 2024-01-05T20:23:03Z Hiroteashi 379511 Copper Mine Industry wikitext text/x-wiki == Summary == Copper Mine Industry e1badd43bd68ae55486292c2c46af854967a7385 File:Iron Mine.png 6 103 280 2024-01-05T20:23:54Z Hiroteashi 379511 Iron Mine Industry wikitext text/x-wiki == Summary == Iron Mine Industry 8b967914bef69208942d301e04c4e795ad3aa85e File:Silica Quarry.png 6 104 281 2024-01-05T20:24:16Z Hiroteashi 379511 Silica Quarry Industry wikitext text/x-wiki == Summary == Silica Quarry Industry aab74a55e77b293a5a74fcbf13813d5bf2e5503b File:Motor Assembly.png 6 105 282 2024-01-05T20:25:22Z Hiroteashi 379511 Motor Assembly Industry wikitext text/x-wiki == Summary == Motor Assembly Industry d621d0c4dc8637f4aff2e0f14862d818734011ad File:Neon Refinery.png 6 106 283 2024-01-05T20:25:56Z Hiroteashi 379511 Neon Refinery Industry wikitext text/x-wiki == Summary == Neon Refinery Industry 78644df51fdb0882c95d46a2de1adda8d72fabb1 File:Oil Powerplant.png 6 107 284 2024-01-05T20:26:56Z Hiroteashi 379511 Oil Powerplant Industry wikitext text/x-wiki == Summary == Oil Powerplant Industry 561492f5b923ce65ebafb82e2f9f8d88e978459b File:Oil Refinery.png 6 108 285 2024-01-05T20:27:44Z Hiroteashi 379511 Oil Refinery Industry wikitext text/x-wiki == Summary == Oil Refinery Industry bbc52aef414cf31ab37c1e39dccfb540be5cb2f3 File:Oil Well.png 6 109 286 2024-01-05T20:28:49Z Hiroteashi 379511 Oil Well Industry wikitext text/x-wiki == Summary == Oil Well Industry 745236161777de7b2dfd0d62ad15b57734770678 File:Coal Gassifier.png 6 110 287 2024-01-05T20:30:06Z Hiroteashi 379511 Ore Gassifier Industry wikitext text/x-wiki == Summary == Ore Gassifier Industry 0ec1f827e1eb47c5441bd6d51025e4624f1c72a1 File:Paperclip Stamper.png 6 111 288 2024-01-05T20:30:58Z Hiroteashi 379511 Paperclip Stamper Industry wikitext text/x-wiki == Summary == Paperclip Stamper Industry 780dd68157ee8bd331e690c6d44bc34f70d6625c File:Plasticizer.png 6 112 289 2024-01-05T20:31:46Z Hiroteashi 379511 Plasticizer Industry wikitext text/x-wiki == Summary == Plasticizer Industry fc9c42ffae4adccf4275d65005f051fd4eb75bbe File:Rollercoaster.png 6 113 290 2024-01-05T20:32:29Z Hiroteashi 379511 Rollercoaster Megaproject wikitext text/x-wiki == Summary == Rollercoaster Megaproject 9321a3bd0aede6033927a707723c1b359301469d File:Rocket Factory.png 6 114 291 2024-01-05T20:33:19Z Hiroteashi 379511 Rocket Factory Industry wikitext text/x-wiki == Summary == Rocket Factory Industry 4edb2f8771776bfbbf693538b108adefd76a8e1d File:Salt Refinery.png 6 115 292 2024-01-05T20:37:11Z Hiroteashi 379511 Salt Sifter Industry wikitext text/x-wiki == Summary == Salt Sifter Industry 1210ebcce1af52573dc19fd47002a2cda4eb8dcd File:Signworks.png 6 116 293 2024-01-05T20:40:39Z Hiroteashi 379511 Signworks Industry wikitext text/x-wiki == Summary == Signworks Industry 0f59343575884dcdab72ab2516d53d8a2e80bb3b File:Solva.png 6 117 294 2024-01-05T20:41:48Z Hiroteashi 379511 Solva Industry wikitext text/x-wiki == Summary == Solva Industry c02a4ee431504880cd3b017a4ccc3b7525a34993 File:SpaceLiner Platform.png 6 118 295 2024-01-05T20:43:59Z Hiroteashi 379511 Spaceliner Platform Industry wikitext text/x-wiki == Summary == Spaceliner Platform Industry 9a142db44962fed7872180be36402d1a9be37a11 File:Station Tile.png 6 119 296 2024-01-05T20:44:46Z Hiroteashi 379511 Train Station Tile wikitext text/x-wiki == Summary == Train Station Tile 48048a70cd9ee634642c09b75121dc2157c8f401 File:Steam Boiler.png 6 120 297 2024-01-05T20:45:15Z Hiroteashi 379511 Steam Boiler Megaproject wikitext text/x-wiki == Summary == Steam Boiler Megaproject c9fe6128365b03d70404502ea499d69aa3c12725 File:Atmospheric Seeder.png 6 121 298 2024-01-05T20:46:09Z Hiroteashi 379511 The Experimental Atmospheric Seeder Megaproject wikitext text/x-wiki == Summary == The Experimental Atmospheric Seeder Megaproject ee109c404e3659da02047ebbb928c271a9d3ea49 File:Steel Mill.png 6 122 299 2024-01-05T20:46:58Z Hiroteashi 379511 Steel Mill Industry wikitext text/x-wiki == Summary == Steel Mill Industry 6f72be985d55b204fe26191d14bad4fb923dbed1 File:Steel Supports.png 6 123 302 2024-01-05T20:52:49Z Hiroteashi 379511 Steel Supported Railing wikitext text/x-wiki == Summary == Steel Supported Railing b2bc2b88941df5a4a5d51a1d790ffdd99dc8a62d File:Tube Plant.png 6 124 303 2024-01-05T20:55:44Z Hiroteashi 379511 Tube Plant Industry wikitext text/x-wiki == Summary == Tube Plant Industry 414680b782758b49d79a1b82274723a3189b01a6 File:Zeppelin Dock.png 6 43 304 61 2024-01-05T20:56:32Z Hiroteashi 379511 Hiroteashi moved page [[File:Placeable ZeppelinDock.png]] to [[File:Zeppelin Dock.png]] without leaving a redirect wikitext text/x-wiki == Summary == Zeppelin Dock Structure a1194339689cac44f8ed195c594c04aada03b85e Template:IndustryDetail 10 75 305 249 2024-01-05T21:06:57Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly> 550b2d5789c2be740f2cd2a4ebeefb8157274c92 316 305 2024-01-05T23:30:26Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> |- | text-align="center"|{{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly> 8396da446d6acc92eb9cd8210de9519ff8802b3d 317 316 2024-01-05T23:31:45Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly> 8da93ffeab316f095f4f1a06a09de73f7238cd45 319 317 2024-01-09T04:52:59Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> |- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly> cf18780e586e9baf34f9e11b9ab63252666aad77 326 319 2024-01-09T20:28:01Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly> 5a5d9d1419c61491bb43cd0a94dee4dfea2bf4a5 329 326 2024-01-09T20:35:43Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude> <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly> 054d8d584de27cade986d83d92196736f8ba926a File:Water Pump.png 6 125 306 2024-01-05T21:13:21Z Hiroteashi 379511 Water Pump Industry wikitext text/x-wiki == Summary == Water Pump Industry 8347135574a4cb69fdbfa61041d6129e4acd370c Category:Structures 14 9 307 250 2024-01-05T21:21:05Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! colspan="2";class="unsortable | Recipe !! rowspan="2"|Catalyst |- ! class="unsortable |Input !! class="unsortable |Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] cb8b92a94d0c2a10e1525b5098705d74d26af54c 308 307 2024-01-05T21:36:58Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! colspan="2";class="unsortable | Recipe !! rowspan="2"|Catalyst |- ! class="unsortable | Input !! class="unsortable | Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! Name !! Price (¥) !! Max Workers!! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Coal Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Coal}} → 1x {{Item|Energy}} |- | [[Oil Powerplant]] || 2048 || 4 || 8 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Energy}} |- | [[Oil Refinery]] || 2048 || 4 || 16 ||{{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Reactives}} |- | [[Steel Mill]] || 4096 || 8 || 8 || {{Item|Energy}} || {| |- | 2x {{Item|Iron}}<br /> 2x {{Item|Coal}} || → || 2x {{Item|Steel}} |} |- | [[Salt Refinery]] || 2048 || 2 || 16 || {{Item|Energy}} || 2x {{Item|Silica}} → 1x [[Salt]] |- | [[Plasticizer]] || 2048 || 2 || 16 || {{Item|Water}} || 2x {{Item|Crude Oil}} → 1x {{Item|Plastic}} |- | [[Hardmold]] || 2048 || 4 || 16 || {{Item|Energy}} || 2x {{Item|Coal}} → 2x {{Item|Plastic}} |- | [[Solva]] || 2048 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 1x {{Item|Crude Oil}}<br /> 1x {{Item|Water}}<br />2 {{Item|Silica}} || → || 6x {{Item|Solvent}}<br />1 {{Item|Waste}} |} |- | [[Wire Coiler]] || 1024 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Copper}} → 2x {{Item|Wire}} |- | [[Concrete Yard]] || 2048 || 4 || 16 || {{Item|Energy}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Water}} || → || 1x {{Item|Concrete}} |} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 256019ef95bd7ce2b4d301076c83825c63951684 311 308 2024-01-05T22:13:58Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! colspan="2";class="unsortable | Recipe !! rowspan="2"|Catalyst |- ! class="unsortable | Input !! class="unsortable | Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Appliance Plant]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}</br> 1x {{Item|Wire}}|| → || 1x {{Item|Appliances}} |} |- | [[Incinerator]] || 2048 || 1 || 32 || {{Item|Solvent}} || 2x {{Item|Waste}} → ∅ |- | [[Tool Die]] || 2048 || 2 || 32 || {{Item|Energy}} || 1x {{Item|Plastic}} → 1x [[Widget]] |- | [[Glass Smelter]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Silica}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Glass}} |} |- | [[Coal Gassifier]] || 2048 || 2 || 16 || {{Item|Water}} || {| |- | 2x {{Item|Coal}}<br /> 1x {{Item|Energy}} || → || 1x {{Item|Reactives}}<br /> 1x {{Item|Waste}} |} |- | [[Electronics Fab]] || 4096 || 4 || 16 || {{Item|Water}} || {| |- | 1x {{Item|Silica}}<br /> 2x {{Item|Wire}}<br /> 1x {{Item|Energy}} || → || 3x {{Item|Appliances}}<br /> 1x {{Item|Waste}} |} |- | [[Hullyard]] || 4096 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 4x {{Item|Steel}}<br /> 2x {{Item|Plastic}}<br /> 1x {{Item|Energy}} || → || 2x {{Item|Hulls}} |} |- | [[Neon Refinery]] || 4096 || 4 || 16 || {{Item|Water}} || 2x {{Item|Reactives}} → 1x {{Item|Neon Gas}} |- | [[Booster Plant]] || 4096 || 4 || 32 || {{Item|Neon Gas}} || {| |- | 3x {{Item|Iron}}<br /> 1x {{Item|Reactives}} || → || 1x {{Item|Retrograde}}<br /> 1x {{Item|Waste}} |} |- | [[Furniture Assembler]] || 4096 || 2 || 32 || {{Item|Energy}} || 2x {{Item|Plastic}} → 1x {{Item|RobotArm}} |- | [[Motor Assembly]] || 4096 || 4 || 32 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 4x {{Item|Wire}}|| → || 2x {{Item|Motor}} |} |- | [[Paperclip Stamper]] || 4096 || 2 || 16 || {{Item|Heavy Tools}} || 1x {{Item|Steel}} → 4x {{Item|PaperClips}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] aab7d5e93fcba017bf0003044ba127423c5e313c 314 311 2024-01-05T23:03:55Z Hiroteashi 379511 /* Industries */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2}} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widget | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 1d75a343448820c2f8af98b12ed26bbb860bd4c5 315 314 2024-01-05T23:05:42Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2}} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widget | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Rocket Factory]] || 8192 || 4 || 32 || {{Item|RobotArm}} || {| |- | 5x {{Item|Widgets}}<br /> 2x {{Item|Steel}} || → || 2x {{Item|Rockets}} |} |- | [[Chip Fab]] || 8192 || 4 || 16 || {{Item|RobotArm}} || {| |- | 3x {{Item|Silica}}<br /> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 1x {{Item|CPU}}<br /> 1x {{Item|Waste}} |} |- | [[Signworks]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Glass}}</br> 1x {{Item|Neon Gas}}<br />2 {{Item|Wire}}|| → || 2x {{Item|Signage}} |} |- | [[Luxury Assembler]] || 8192 || 4 || 32 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|Hulls}}<br /> 2x {{Item|Furniture}}<br />1 {{Item|Steel}} || → || 1x {{Item|Luxury Rooms}}<br /> 2x {{Item|Waste}} |} |- | [[Heavy Works]] || 4096 || 4 || 16 || {{Item|Energy}} || {| |- | 1x {{Item|Steel}}<br /> 1x {{Item|Widgets}}<br /> 1x {{Item|Motor}} || → || 1x {{Item|Heavy Tools}} |} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 791f55fbc28dfe3e0b9a7e5fc34fc9eab080caea 318 315 2024-01-09T04:51:04Z Hiroteashi 379511 /* Industries */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = Robot Arms | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = Robot Arms | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 414df51c64663b9002669ec2112688a80e635e54 320 318 2024-01-09T04:59:34Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = Robot Arms | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = Robot Arms | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] a9968661a3a6b570d390e8514ea0acf8c6afb1b1 321 320 2024-01-09T04:59:49Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = Robot Arms | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = Robot Arms | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 414df51c64663b9002669ec2112688a80e635e54 322 321 2024-01-09T05:00:40Z Hiroteashi 379511 /* Industry Tier 3 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" | Recipe |- | [[Tube Plant]] || 4096 || 2 || 64 || {{Item|RobotArm}} || {| |- | 1x {{Item|Glass}}<br /> 1x {{Item|CPU}}<br /> 2x {{Item|Wire}}|| → || 2x {{Item|Televisions}} |} |- | [[Framer]] || 16384 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}<br /> 3x {{Item|Widgets}}<br /> 3x {{Item|Wire}}|| → || 2x {{Item|Mainframes}} |} |- | [[Grey Assembly]] || 8192 || 4 || 64 || {{Item|RobotArm}} || {| |- | 2x {{Item|CPU}}</br> 4x {{Item|Reactives}}<br /> 8x {{Item|Solvent}} || → || 2x {{Item|Assembra}}<br /> 4x {{Item|Waste}} |} |- | [[Armory]] || 16384 || 4 || 64 || {{Item|Heavy Tools}} || {| |- | 1x {{Item|CPU}}<br /> 1x {{Item|Motor}}<br /> 2x {{Item|Widgets}} || → || 2x {{Item|RobotArm}} |} |- | [[Worker Rocket Platform]] || 8192 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 8x {{Item|Retrograde}}<br /> 6x {{Item|Hulls}}<br /> 24x {{Item|Motor}} || → || ∅ |} |- | [[Spaceliner Platform]] || 16384 || 8 || 64 || {{Item|Assembra}} || {| |- | 8x {{Item|Rockets}}<br /> 16x {{Item|Retrograde}}<br /> 8x {{Item|Televisions}}<br /> 8x {{Item|Luxury Rooms}} || → || ∅ |} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! Name !! Price (¥) !! Max Workers !! Recipe Time (s) !! Catalyst !! class="unsortable" colspan="3"| Recipe |- | [[Mechanist]] || 4096 || 1 || 128 || {{Item|Assembra}} || style="border-right: none; border-left: none"|4x {{Item|RobotArm}} || style="border-right: none; border-left: none"|→ || style="border-left: none"|∅ |- | [[Compute Platform]] || 32768 || 8 || 64 || {{Item|Assembra}} || style="border-right: none; border-left: none"|8x {{Item|Rockets}}<br /> 4x {{Item|Retrograde}}<br /> 4x {{Item|Hulls}}<br /> 8x {{Item|Mainframes}} || style="border-right: none; border-left: none"|→ || style = "border-left: none"|∅ |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 13536ea0baea8e74ad92b5c750b1c57f7328a65e 324 322 2024-01-09T05:23:37Z Hiroteashi 379511 /* Industries */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] dff7735ca88941d8616df1063b9a5d99727326df 325 324 2024-01-09T05:26:47Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] ab2f4cca265369d6eca8f7e71073d713d5b7e43e 327 325 2024-01-09T20:29:17Z Hiroteashi 379511 /* Industries */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 901d1337846abe32789a8875d94088ee79d49199 328 327 2024-01-09T20:29:47Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" |+ Resource Extraction Industry |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] ca45c7a66dd33b84aad1343cd61c99d97534dd73 File:Salt Refinery.png 6 115 309 292 2024-01-05T22:07:29Z Hiroteashi 379511 Hiroteashi moved page [[File:Salt Sifter.png]] to [[File:Salt Refinery.png]] without leaving a redirect wikitext text/x-wiki == Summary == Salt Sifter Industry 1210ebcce1af52573dc19fd47002a2cda4eb8dcd 310 309 2024-01-05T22:07:42Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == Salt Refinery Industry dc4f548893ee909c3194a714014353dd8ea4ed87 File:Coal Gassifier.png 6 110 312 287 2024-01-05T23:03:33Z Hiroteashi 379511 Hiroteashi moved page [[File:Ore Gassifier.png]] to [[File:Coal Gassifier.png]] without leaving a redirect wikitext text/x-wiki == Summary == Ore Gassifier Industry 0ec1f827e1eb47c5441bd6d51025e4624f1c72a1 313 312 2024-01-05T23:03:44Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == Coal Gassifier Industry c4774a595d2139edfc0d9abeecb8c260a0a6da87 File:WorkRocket Platform.png 6 126 323 2024-01-09T05:18:06Z Hiroteashi 379511 Worker Rocket Platform Icon wikitext text/x-wiki == Summary == Worker Rocket Platform Icon c01f9ec3a3698239308889473099e10589624536 Template:Item 10 62 330 123 2024-01-09T20:38:32Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] </noinclude> <includeonly> <span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]] </span></span> </includeonly> dd40564827b3ea77579d737ca70dc6f70741826a Template:ItemLarge 10 74 331 239 2024-01-09T20:39:29Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] </noinclude> <includeonly> <span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};text-align:center;"> [[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]] <br /> <div style = "text-align:center">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</div> </span></span> </includeonly> 1ed3f59e9e0aa4b143406d5f47144afd2e504df2 Category:Templates 14 61 332 85 2024-01-09T20:53:13Z Hiroteashi 379511 wikitext text/x-wiki [[Template:Item]] [[Recipe Data]] be55836b2122fa4c52da7ce8be8aa53f1157e94c 335 332 2024-01-09T21:33:45Z Hiroteashi 379511 wikitext text/x-wiki [[Template:Item]] cdb4b6b195f949d0dfd51b95f707d719527f0286 Recipe Data 0 127 333 2024-01-09T20:54:05Z Hiroteashi 379511 Created page with "<noinclude> [[category:Templates]] </noinclude> <include> </include>" wikitext text/x-wiki <noinclude> [[category:Templates]] </noinclude> <include> </include> c5721664dc76e9397dbda0b603c24078d2b7767f 334 333 2024-01-09T21:33:27Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:Templates]] </noinclude> <includeonly> {{My template | my parameter = my value | my other parameter = my other value }} </includeonly> 5777f5aca7e266d24c56020e07784a419060679e User:Hiroteashi 2 128 336 2024-01-09T21:34:42Z Hiroteashi 379511 Created page with "[[/sandbox]]" wikitext text/x-wiki [[/sandbox]] 61f1df978f09bbb77d276e28a91e72aee9040577 337 336 2024-01-09T21:37:07Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]] [[/sandbox2]] afe2f3b82aa80aebdfffaa8bdd978ef6b2a6f597 User:Hiroteashi/sandbox 2 129 338 2024-01-09T21:37:26Z Hiroteashi 379511 Created page with "Thank you so much! You’ve been a huge help. I’m looking forward to collaborating more in the future!" wikitext text/x-wiki Thank you so much! You’ve been a huge help. I’m looking forward to collaborating more in the future! 24df20e98360d72df3f368ec83a6e4745bc69592 340 338 2024-01-09T21:39:26Z Hiroteashi 379511 wikitext text/x-wiki Thank you so much, {{{friend}}}! You’ve been a huge help. I’m looking forward to collaborating more in the future! bc88a15702cbe27d83b262bf8f14a7badc9b48fb 342 340 2024-01-09T21:42:58Z Hiroteashi 379511 wikitext text/x-wiki Thank you so much, {{{1}}}! You’ve been a huge help. I’m looking forward to collaborating more in the future! – {{{2}}} fef960b4e236f0924728f91f80e9c35a566e468d 344 342 2024-01-12T21:47:14Z Hiroteashi 379511 wikitext text/x-wiki {{#switch: {{{x}}} | 1 = one | 2 = two | #default = other | 3|4|5 = any of 3–5 | {{#expr: 2*3}} = six | {{#expr: 2*3+1}} = {{lc:SEVEN}} <!--lowercase--> }} a3fa42c3b1486ce3a82ed4290f521131913fd2fb 346 344 2024-01-12T21:49:52Z Hiroteashi 379511 wikitext text/x-wiki {{#switch: {{{Hiroteashi/sandbox2}}} | 1 = one | 2 = two | #default = other | 3|4|5 = any of 3–5 | {{#expr: 2*3}} = six | {{#expr: 2*3+1}} = {{lc:SEVEN}} <!--lowercase--> }} 3963f09058248a36ca8f6b42d3629394613b39ec 348 346 2024-01-12T21:58:20Z Hiroteashi 379511 wikitext text/x-wiki {{#switch: {{{1}}} | 1 = one | 2 = two | #default = other | 3|4|5 = any of 3–5 | {{#expr: 2*3}} = six | {{#expr: 2*3+1}} = {{lc:SEVEN}} <!--lowercase--> }} 8405b78c686728255955cdcb06be3c298dc4007a 350 348 2024-01-12T22:02:33Z Hiroteashi 379511 wikitext text/x-wiki {{#switch: 4 | 1 = one | 2 = two | #default = other | 3|4|5 = any of 3–5 | {{#expr: 2*3}} = six | {{#expr: 2*3+1}} = {{lc:SEVEN}} <!--lowercase--> }} 2beb426e9e262a3f8ef552750e47e07c869863b3 351 350 2024-01-12T22:04:20Z Hiroteashi 379511 wikitext text/x-wiki {{#switch: {{1|}} | 1 = one | 2 = two | #default = other | 3|4|5 = any of 3–5 | {{#expr: 2*3}} = six | {{#expr: 2*3+1}} = {{lc:SEVEN}} <!--lowercase--> }} e7026f0bc3eb8629aec8b1b0509c3e98727816bc User:Hiroteashi/sandbox2 2 130 339 2024-01-09T21:37:57Z Hiroteashi 379511 Created page with "{{User:Hiroteashi/sandbox}}" wikitext text/x-wiki {{User:Hiroteashi/sandbox}} 6071a4a67fafdbf7445bf8f214fb645669615f87 341 339 2024-01-09T21:40:09Z Hiroteashi 379511 wikitext text/x-wiki {{User:Hiroteashi/sandbox|friend=Kind Person}} 93694351e732178b92bb4ce1873036d5140d6d3f 343 341 2024-01-09T21:43:34Z Hiroteashi 379511 wikitext text/x-wiki {{User:Hiroteashi/sandbox|Kind Person|Thankful Person}} 866675635971676d49ec9f9eee7d19c50ceb75e9 345 343 2024-01-12T21:47:34Z Hiroteashi 379511 wikitext text/x-wiki {{User:Hiroteashi/sandbox|1|2}} ba77ff2f428d73ba9fbf257c21d3df5dbe6d8d65 347 345 2024-01-12T21:50:07Z Hiroteashi 379511 Replaced content with "2" wikitext text/x-wiki 2 da4b9237bacccdf19c0760cab7aec4a8359010b0 349 347 2024-01-12T21:58:55Z Hiroteashi 379511 wikitext text/x-wiki {{Hiroteashi/sandbox|3}} 36e48ff19f71f532a74750b19923ab6983257e50 Template:IndustryTableHeader 10 66 352 132 2024-01-12T22:11:28Z Hiroteashi 379511 wikitext text/x-wiki ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- 9435c9c98edd645917558a909c53f7305e851bd1 353 352 2024-01-12T22:12:27Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude> <includeonly> ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- </includeonly> e1c2eba7cd814cf5c0ffec18b26262b1d301c721 354 353 2024-01-12T22:13:22Z Hiroteashi 379511 Hiroteashi moved page [[Template:Cargo Info Box]] to [[Template:IndustryTableHeader]] without leaving a redirect wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude> <includeonly> ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- </includeonly> e1c2eba7cd814cf5c0ffec18b26262b1d301c721 355 354 2024-01-12T22:14:51Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude> <includeonly> class="wikitable sortable" |+ {{{1}}} |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- </includeonly> 7ac1858346bd06e285e454f005c8a139781ba858 357 355 2024-01-12T22:17:06Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude> <includeonly> {| class="wikitable sortable" |+ {{{1}}} |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- </includeonly> 3aaefa363bff82613087a5a085291f4608097c99 358 357 2024-01-12T22:17:57Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude> <includeonly> |+ {{{1}}} |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- </includeonly> 66a984be1a7647f9593d1f212e495d9b29131bcb Category:Structures 14 9 356 328 2024-01-12T22:15:01Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 452599401a3bbbaf16b6b0ab3291ab22fcb8b4e1 359 356 2024-01-12T22:18:15Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" |+ Tier 1 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" |+ Tier 2 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" |+ Tier 3 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" |+ Tier 4 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" |+ Tier 5 |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] f963212c09ae65c1652b19c2a54134a7e7e2eed6 360 359 2024-01-12T22:19:42Z Hiroteashi 379511 wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 54ffd3ca998ce5fa7aeb108d348c1a7a9980098b 363 360 2024-01-12T22:35:06Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{:Water_Pump}} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] d6a4a0a1c11822033538f55a7d299dff28ffeb63 365 363 2024-01-13T22:29:06Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water | out1Ct = 1 }}} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 38b2b25fa6be6701ce2c9d16ceb5eae4e2f04e8a 366 365 2024-01-13T22:32:41Z Hiroteashi 379511 /* Resource Extraction */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] abc5de29ad925b97e7696b0cd46b4f557ae35245 Water Pump 0 131 361 2024-01-12T22:21:34Z Hiroteashi 379511 Created page with "<noinclude> {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} </noinclude> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 <noinclude>}}</noinclude>" wikitext text/x-wiki <noinclude> {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} </noinclude> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 <noinclude>}}</noinclude> 8ca5a08c60318717854b48d659654b34b09892ba 362 361 2024-01-12T22:32:39Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} </noinclude> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} <noinclude>|}</noinclude> 9d3ff2cafe7f7ef9bcadf09fbc8cda012f015b8e 364 362 2024-01-12T22:38:55Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:Structures]] {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} </noinclude> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} <noinclude>|}</noinclude> 1a84867dc9a06c73df1ed09b684c4f9aee524c5f 367 364 2024-01-13T22:37:40Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on [[water spring]]. {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} |} ===Barks=== * Don't waste a drop! * The waters of life, here * Blue gold by the barrel! * They better drink this slowly 7a773b89c230602773275f25a98a4541c545fd8d 370 367 2024-01-13T22:39:35Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on [[water spring]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water| out1Ct = 1 }} |} ===Barks=== * Don't waste a drop! * The waters of life, here * Blue gold by the barrel! * They better drink this slowly 56c636614ab5eebb8cd531d607d638e76d1bc2bd Oil Well 0 132 368 2024-01-13T22:39:09Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== Must be built on [[oil spring]]. {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} |} ===Barks=== * Oops, it is gushing oil! * Oil is slimy and gets everywhere * I love oil * Please just take this oil away" wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on [[oil spring]]. {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} |} ===Barks=== * Oops, it is gushing oil! * Oil is slimy and gets everywhere * I love oil * Please just take this oil away 9568b7b2464c27e2466a22c065966b1d64d0b690 369 368 2024-01-13T22:39:23Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on [[oil spring]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} |} ===Barks=== * Oops, it is gushing oil! * Oil is slimy and gets everywhere * I love oil * Please just take this oil away d8ebbbdf304f4c65524dd248324543f7af105f37 Geothermal 0 133 371 2024-01-13T22:40:36Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== Must be built on [[water spring]]. {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} |} ===Barks=== * Running a bit hot * Shame it's undrinkable * Too hot for a bath * Want some tea?" wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on [[water spring]]. {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} |} ===Barks=== * Running a bit hot * Shame it's undrinkable * Too hot for a bath * Want some tea? 2665dac1a60c3e333e019d2767efd675b975353f 372 371 2024-01-13T22:41:47Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Steam Vent]]. Produces [[Energy]] from the steam. {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} |} ===Barks=== * Running a bit hot * Shame it's undrinkable * Too hot for a bath * Want some tea? 733e986da5d870f72b16b1f8a4238ee79e8b7dd8 373 372 2024-01-13T22:43:00Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Steam Vent]]. Produces [[Energy]] from the steam. Not to be confused with the [[TEAS|Boiler Structure] used for [[Brewing up a Storm]] {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} |} ===Barks=== * Running a bit hot * Shame it's undrinkable * Too hot for a bath * Want some tea? e4492024c0e369150f18241aa15d75702ec35574 374 373 2024-01-13T22:43:08Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Steam Vent]]. Produces [[Energy]] from the steam. Not to be confused with the [[TEAS|Boiler Structure]] used for [[Brewing up a Storm]] {| class="wikitable sortable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} |} ===Barks=== * Running a bit hot * Shame it's undrinkable * Too hot for a bath * Want some tea? 39d9474c7757c7c6b5dc172f9360f5ad9bd9d5f9 375 374 2024-01-13T22:43:14Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Steam Vent]]. Produces [[Energy]] from the steam. Not to be confused with the [[TEAS|Boiler Structure]] used for [[Brewing up a Storm]] {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} |} ===Barks=== * Running a bit hot * Shame it's undrinkable * Too hot for a bath * Want some tea? 119dac81f55907321ccf5ce5fc5a7e8d3ceca771 Coal Mine 0 134 376 2024-01-13T22:46:10Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== Must be built on top of [[Coal deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} |} ===Barks=== * Rocky start eh? * Don't take us for granite * Ore, it's crushingly heavy * We've hit rock bottom * Now ore never * Am I right? Ore am I right!" wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Coal deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} |} ===Barks=== * Rocky start eh? * Don't take us for granite * Ore, it's crushingly heavy * We've hit rock bottom * Now ore never * Am I right? Ore am I right! 15a0aca8a292b4b3853267359d4f7f83753f15b8 Copper Mine 0 135 377 2024-01-13T22:50:30Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== Must be built on top of [[Copper deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} |} ===Barks=== {{#section-h:Coal_Mine|Barks}}" wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Copper deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} |} ===Barks=== {{#section-h:Coal_Mine|Barks}} cac4c5951e4c69d7029b59a299b3b133059d98df 380 377 2024-01-13T23:03:04Z Hiroteashi 379511 /* Barks */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Copper deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} |} [[category:Structures]] ===Description=== Must be built on top of [[Copper deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ===Barks=== {{#section-h:Coal_Mine|Barks}} a18940f73fcac30be11821481ab2c7af3b151f56 381 380 2024-01-13T23:04:20Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Copper deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ===Barks=== {{#section-h:Coal_Mine|Barks}} dc343835f1a4ab0571ace17d4cf7e5017e7f477c Iron Mine 0 136 378 2024-01-13T22:52:59Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== Must be built on top of [[Iron deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} |} ===Barks=== {{#section-h:coal_Mine|Barks}}" wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Iron deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} |} ===Barks=== {{#section-h:coal_Mine|Barks}} a4a5064f409202b11297b17c97f111e525720428 Silica Quarry 0 137 379 2024-01-13T22:54:29Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== Must be built on top of [[Silica deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ===Barks=== {{#section-h:Coal_Mine|Barks}}" wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Silica deposit]]. {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ===Barks=== {{#section-h:Coal_Mine|Barks}} caf40669e5fe3ef261a72d88ec292b7b136a2c58 Coal Powerplant 0 138 382 2024-01-14T00:13:41Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} |} ===Barks=== * Keep the coal coming! * We need coal for the fire * Just watch these turbines spin!" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} |} ===Barks=== * Keep the coal coming! * We need coal for the fire * Just watch these turbines spin! fcecbe11df7742e62762c0cd7d2e19c8b647fd56 Oil Powerplant 0 139 383 2024-01-14T00:14:30Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} |} ===Barks=== * Adjusting the flow * Cleaning is half the job * My time is too valuable for dirt * The oil must flow" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} |} ===Barks=== * Adjusting the flow * Cleaning is half the job * My time is too valuable for dirt * The oil must flow 72067d7a4f47ef60a8b93c1688e81ddbb85ae8cc Oil Refinery 0 140 384 2024-01-14T00:15:16Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} |} ===Barks=== * Brewing oil is a bit like brewing coffee * I love coffee * I like my coffee like I like my oil: black * Black gold!" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} |} ===Barks=== * Brewing oil is a bit like brewing coffee * I love coffee * I like my coffee like I like my oil: black * Black gold! 81b518eae311e470ac9a296a119308aefa193be3 Steel Mill 0 141 385 2024-01-14T00:16:57Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} |} ===Barks=== * When you need it straight and strong, use steel * Furnaces are hot so keeping the ores flowing! * Strike while the bellows are blowing!" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} |} ===Barks=== * When you need it straight and strong, use steel * Furnaces are hot so keeping the ores flowing! * Strike while the bellows are blowing! 4aee33aaa0c74e3121251e570b60c3288f955933 Salt Refinery 0 142 386 2024-01-14T00:17:30Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} |} ===Barks=== * Rock salt without the rock * Savoury to the last grain * Dehydrated salt; just don't add water" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} |} ===Barks=== * Rock salt without the rock * Savoury to the last grain * Dehydrated salt; just don't add water f707106fa0fca04ada1e21b3c45fecde8aeb01b0 Plasticizer 0 143 387 2024-01-14T00:18:09Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} |} ===Barks=== * Plastic is the future! * Please don't recycle * Cheap and durable * Good under pressure" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} |} ===Barks=== * Plastic is the future! * Please don't recycle * Cheap and durable * Good under pressure b499084397e0ad1f95123732154a99f48b80763b Hardmold 0 144 388 2024-01-14T00:18:47Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} |} ===Barks=== * Our plastic is the best * Max pressure! * Watch that cycle time * Bring the energy!" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} |} ===Barks=== * Our plastic is the best * Max pressure! * Watch that cycle time * Bring the energy! 1d7c3e9a2a3eac1712ef9f1b8086d7f8a6e67be7 Solva 0 145 389 2024-01-14T00:20:33Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} |} ===Barks=== * Don't drink this * Stay out of the vats * Do not add water * Keep in darkness" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} |} ===Barks=== * Don't drink this * Stay out of the vats * Do not add water * Keep in darkness 59df82595bf99579073b38feb2c4b736c8942e35 Wire Coiler 0 146 390 2024-01-14T00:21:22Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} |} ===Barks=== * Many uses; one wire * Conserve copper * Mind the volume" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} |} ===Barks=== * Many uses; one wire * Conserve copper * Mind the volume f581cb6b832be9a38061b889dac8f10646cbbb43 Concrete Yard 0 147 391 2024-01-14T00:22:00Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} |} ===Barks=== * Concrete is hard work * Let's mix things up * We're good under pressure * Concrete; what cities are made of" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} |} ===Barks=== * Concrete is hard work * Let's mix things up * We're good under pressure * Concrete; what cities are made of 6489f8a1e7450f5ca056f592392f98adfc7f89c3 Appliance Plant 0 148 392 2024-01-14T00:35:41Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} |} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''"Goods Factory"''' on release. However the '''"Goods"''' term often was confused with the concept of [[category:Freight]] by players and was eventu..." wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} |} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''"Goods Factory"''' on release. However the '''"Goods"''' term often was confused with the concept of [[category:Freight]] by players and was eventually renamed to '''Appliances''' to halt confusion. f70b59b899b5b7459b59dcc3b9d35d3622d1b713 393 392 2024-01-14T00:36:12Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} |} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''"Goods Factory"''' on release. However the '''"Goods"''' term often was confused with the concept of [[category:Freight]] by players and was eventually renamed to '''Appliances''' to halt confusion. 51e506ec4825c764a085326a33b71755bab00b95 394 393 2024-01-14T00:41:58Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} |} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''"Goods Factory"''' on release. However the '''"Goods"''' term often was confused with the concept of [[Freight]] by players and was eventually renamed to '''Appliances''' to halt confusion. 08cff81a412f0c672acd49e369a5797dd27d00b5 395 394 2024-01-14T00:43:19Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} |} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''"Goods Factory"''' on release. However the '''"Goods"''' term often was confused with the concept of '''"Freight"''' by players and was eventually renamed to '''"Appliances"''' to halt confusion. f097d7f915ac00962a3d5e705eb988fcfd3995e7 396 395 2024-01-14T00:44:34Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} |} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''Goods Factory''' on release. However the term '''Goods''' was often confused with the concept of '''Freight''', thich eventually lead to the '''Appliances''' name being used. a588c10cf8eff72ef9e4283ec1fb1ba833742988 397 396 2024-01-14T00:44:51Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} |} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''Goods Factory''' on release. However the term '''Goods''' was often confused with the concept of '''Freight''', which eventually lead to the '''Appliances''' name being used. 630875b13418a1a62a461dd04b6d059337a1d0ef Incinerator 0 149 398 2024-01-14T00:49:56Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} |} ===Barks=== ===Trivia=== The Incinerator is the only player built [[Industry]] that costs money to use. Every time the Incinerator "purchases" [[waste]], the player will have to pay (-32 yen (¥) per waste) sold to it" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} |} ===Barks=== ===Trivia=== The Incinerator is the only player built [[Industry]] that costs money to use. Every time the Incinerator "purchases" [[waste]], the player will have to pay (-32 yen (¥) per waste) sold to it 584fbcd7d153b6895acb1e6c555f5a5cccf8af4a 399 398 2024-01-14T00:50:29Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} |} ===Trivia=== The Incinerator is the only player built [[Industry]] that costs money to use. Every time the Incinerator "purchases" [[waste]], the player will have to pay (-32 yen (¥) per waste) sold to it 71e5f55fcfd455edaa4f60acb2560f499010747b Tool Die 0 150 400 2024-01-14T00:51:51Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} |} ===Barks=== * Pressed down and cut to shape * Attending to pressing matters * We make parts of all shapes and sizes * Ouch, that was a sharp edge" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} |} ===Barks=== * Pressed down and cut to shape * Attending to pressing matters * We make parts of all shapes and sizes * Ouch, that was a sharp edge c35a9fdfd1863b055e5240450bcbd1d6968025ae Glass Smelter 0 151 401 2024-01-14T00:54:01Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} |} ===Barks=== * This is not candy * Do not eat * Transparent or your money back * The edge is sharp" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} |} ===Barks=== * This is not candy * Do not eat * Transparent or your money back * The edge is sharp 581382117526bb42732b84c1611d5c5562e4466c Coal Gassifier 0 152 402 2024-01-14T00:54:39Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} |} ===Barks=== * Sorry about the waste * Mind the waste * Not your first choice * Reaction you can rely on" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} |} ===Barks=== * Sorry about the waste * Mind the waste * Not your first choice * Reaction you can rely on ad3f1414f9699ca0e29dd89879edd91a625aa1f8 Electronics Fab 0 153 403 2024-01-14T00:55:26Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} |} ===Barks=== * Quality assurance is on notice * Try turning it off and on * Problem is between keyboard * Careful, Fragile" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} |} ===Barks=== * Quality assurance is on notice * Try turning it off and on * Problem is between keyboard * Careful, Fragile 6d5fd0624492b1f302b28b45b2e233390461df4b Hullyard 0 154 404 2024-01-14T00:56:34Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} |} ===Barks=== * Framing up the walls * Structural integrity * Structure you can rely on * No missing pieces" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} |} ===Barks=== * Framing up the walls * Structural integrity * Structure you can rely on * No missing pieces 8164c53e8828aade58992db9aa71f2e0882bba3c Neon Refinery 0 155 405 2024-01-14T01:26:21Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} |} ===Barks=== * Excuse me * Sorry for the gas * That smell is normal * Keep flame away" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} |} ===Barks=== * Excuse me * Sorry for the gas * That smell is normal * Keep flame away a59c9e57d2f5d1ee53bd82f6633e8ab1f54f34f6 406 405 2024-01-14T01:28:59Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} |} ===Barks=== * Excuse me * Sorry for the gas * That smell is normal * Keep flame away ===Trivia=== Neon Gas in actuality is extremely non-reactive and is not made using any oil-based processes. 1cbf2a53edf0c4bcf3927f65cad4f951d0e56a53 Booster Plant 0 156 407 2024-01-14T01:30:12Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} |} ===Barks=== * Give your rockets a boost * We've got our boosters * Quite a kick * No smoking" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} |} ===Barks=== * Give your rockets a boost * We've got our boosters * Quite a kick * No smoking d314feee6ba815556c386c184e0c611bcf6c72b4 Furniture Assembler 0 157 408 2024-01-14T01:53:07Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} |} ===Barks=== * Safe for sitting * Take a load off * Take a seat * No assembly required" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} |} ===Barks=== * Safe for sitting * Take a load off * Take a seat * No assembly required 085f14819c152b8d639bf85cfe83f9eedcc226e8 Motor Assembly 0 158 409 2024-01-14T01:53:53Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} |} ===Barks=== Spinning magnets Magnets, how do they work? Mind the interference Geared to move" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} |} ===Barks=== Spinning magnets Magnets, how do they work? Mind the interference Geared to move ed56c8470f6733e9b6935edad5ff71bf2e687996 Paperclip Stamper 0 159 410 2024-01-14T01:54:35Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ===Barks=== * Stampity stamp! * Perfect for holding paper * We also make small weak chains * Use two per page" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ===Barks=== * Stampity stamp! * Perfect for holding paper * We also make small weak chains * Use two per page 49be77fd30aa22887b2a52e410cb6a491f14b8bf Rocket Factory 0 160 411 2024-01-14T22:53:23Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} |} ===Barks=== * Stay away down wind * Stay clear of the blast * Hot; no touch * Testing in progress" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} |} ===Barks=== * Stay away down wind * Stay clear of the blast * Hot; no touch * Testing in progress bf474371332b1d5546bfb59eafe5ff9f9c87f8fd CPU Fab 0 161 412 2024-01-14T22:53:57Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} |} ===Barks=== Want a chip? Once you start you can't stop Do not eat these chips Slicing them thin" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} |} ===Barks=== Want a chip? Once you start you can't stop Do not eat these chips Slicing them thin a02a3b6f16a55d7e253b726e9af0da149734cc2a Signworks 0 162 413 2024-01-14T22:54:30Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} |} ===Barks=== * Practice makes perfect * One design, perfected * Go company! * Do not overcharge the neon!" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} |} ===Barks=== * Practice makes perfect * One design, perfected * Go company! * Do not overcharge the neon! 23f2ed583bffdabd1056fa486f81d6d57a7fca4f Luxury Assembler 0 163 414 2024-01-14T22:56:10Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} |}" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} |} 6334d8c737506c8046df027ec81ac6ebbb64070b Heavyworks 0 164 415 2024-01-14T22:56:59Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ===Barks=== * Like a powerup for industry * Catalyzing the future * Careful, these are heavy * Lift with your legs" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ===Barks=== * Like a powerup for industry * Catalyzing the future * Careful, these are heavy * Lift with your legs b3672cae4fee22a8fe81414667acb27b4d49af39 Tube Plant 0 165 416 2024-01-14T22:59:51Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} |} ===Barks=== * Watch anything good last night? * Sit back and relax * Forget your worries * What else is there? ===Trivia=== "Tube" was a popular term used to refe..." wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Tube Plant | cost = 4096 | catalyst = Energy | recipeTime = 64 | workers = 2 | in1 = Glass | in1Ct = 1 | in2 = CPU | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = Televisions | out1Ct = 2 }} |} ===Barks=== * Watch anything good last night? * Sit back and relax * Forget your worries * What else is there? ===Trivia=== "Tube" was a popular term used to refer to Televisions, beginning at the 1970's 534588b115580c812dc2f572da20ed9f16770742 Framer 0 166 417 2024-01-14T23:02:18Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} |} ===Barks=== * I compute therefore I am * At most five customers * Keep the bugs out * Any bug spray? ===Trivia=== This Industry does do any construction work as i..." wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Framer | cost = 16384 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Widgets | in2Ct = 3 | in3 = Wire | in3Ct = 3 | out1 = Mainframes | out1Ct = 2 }} |} ===Barks=== * I compute therefore I am * At most five customers * Keep the bugs out * Any bug spray? ===Trivia=== This Industry does do any construction work as it's name would imply. Rather Framer refers to Mainframe production, a intentional lexical oddity. 6cd187bfd899c77bf725c3d6d91863087694d706 Grey Assembly 0 167 418 2024-01-14T23:04:42Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} |} ===Barks=== * Keep the lights off * Running dark * Night time is safest * Don't open before midnight ===Trivia=== The Grey As..." wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Grey Assembly | cost = 8192 | catalyst = RobotArm | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 2 | in2 = Reactives | in2Ct = 4 | in3 = Solvent | in3Ct = 8 | out1 = Assembra | out1Ct = 2 | out2 = Waste | out2Ct = 4 }} |} ===Barks=== * Keep the lights off * Running dark * Night time is safest * Don't open before midnight ===Trivia=== The Grey Assembly might be a reference to "Grey Goo," a corroding nanomachine mixture that is dangerous and is typically involved in world ending accidents. f83a053d6b1de8694d2218f9e35b021bc7a08517 Armory 0 168 419 2024-01-14T23:07:43Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} |} ===Barks=== * Need an arm? * Don't skip arm day * Every day is arm day * Precision robotics ===Trivia=== The term Armory typically refers to a military storage..." wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} |} ===Barks=== * Need an arm? * Don't skip arm day * Every day is arm day * Precision robotics ===Trivia=== The term Armory typically refers to a military storage facility for weapons and ammunition - which this industry is not. Rather Armory refers to Robotic Arm production, a intentional lexical oddity. aca801407d4aab0b3be35959f1ba04693bb1584f 420 419 2024-01-14T23:07:54Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Armory | cost = 16384 | catalyst = Heavy Tools | recipeTime = 64 | workers = 4 | in1 = CPU | in1Ct = 1 | in2 = Motor | in2Ct = 2 | in3 = Widgets | in3Ct = 2 | out1 = RobotArm | out1Ct = 2 }} |} ===Barks=== * Need an arm? * Don't skip arm day * Every day is arm day * Precision robotics ===Trivia=== The term Armory typically refers to a military storage facility for weapons and ammunition - which this industry is not. Rather Armory refers to Robotic Arm production, an intentional lexical oddity. 83b67e0f058d8fba9215446aa1e8567dfa8c58ba WorkRocket Platform 0 169 421 2024-01-14T23:09:07Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} |} ===Barks=== * Launching never gets boring! * We'll launch 'em if you bring 'em * Pointy side goes up * Do not tip" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} |} ===Barks=== * Launching never gets boring! * We'll launch 'em if you bring 'em * Pointy side goes up * Do not tip bbfd9eaa58d1980c1a9c0b7233879b432cac3133 SpaceLiner Platform 0 170 422 2024-01-14T23:09:41Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ===Barks=== * Luxury is essential * Stretch your legs * Would you like cheese with that? * Gotta go fast" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ===Barks=== * Luxury is essential * Stretch your legs * Would you like cheese with that? * Gotta go fast 2fcc1310c00a4940b5dc17734a8d1f9219fa4a0e Compute Platform 0 171 423 2024-01-14T23:10:17Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} |} ===Barks=== * Portable computing is the future * Calculating trajectory * Add up this * Worth any price" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} |} ===Barks=== * Portable computing is the future * Calculating trajectory * Add up this * Worth any price 392f507c5795e2959997a2dd59fc1671e02b9221 The Mechanist 0 172 424 2024-01-14T23:10:47Z Hiroteashi 379511 Created page with "[[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} ===Barks=== * I love robots * Aren't they so cute? * Everyone robot made with care * Stay out of traffic!" wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} ===Barks=== * I love robots * Aren't they so cute? * Everyone robot made with care * Stay out of traffic! a45be1349e8aa33ac6279243b1177abc596f44ef Category:Missions 14 11 425 18 2024-01-21T03:49:36Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || Branch Control || 5:00 |- | T3 || Industrial Chain Primer || 5:00 |- | 1 || First Job || 10:00 |- | S1 || Validation Skip || 25:00 |- | 2 || Oil Overflow || 15:00 |- | 2 Bonus || Oil Overflow Omega [High Volume Oil] || 25:00 |- | 3 || Mix Oil and Water || 20:00 |- | 3 Bonus || Power Supply and Demand || 20:00 |- | 4 || Stretched Thin || 20:00 |- | 4 Bonus A || Metalsome Production || 20:00 |- | 4 Bonus B || Round About and Out [Import Dock] || 25:00 |- | 5 || Fork in the Water || 25:00 |- | S2 || Giant Choice || 25:00 |- | 6 || Rooting out the Route || 15:00 |- | 6 Bonus || Glassed Over [Import Dock] || 20:00 |- | 7 || Salt City || 25:00 |- | 8 || Gorge of Greed || 30:00 |- | 9 || Uphill Both Ways || 25:00 |- | 9 Bonus A || Ancient Erosion || 35:00 |- | 9 Bonus B || The Spire || 35:00 |- | 10 || Historic Restoration || 35:00 |- | 10 Bonus || Bottleneck || 35:00 |- | 11 || Shifting Sands || 25:00 |- | 12 Branch A1 || A Lighter Form of Oil [Neon from Oil] || 35:00 |- | 12 Branch A2 || Good Buys Forever || 50:00 |- | 12 Branch B || Downletting Upholsteries [Mass Furniture] || 35:00 |- | 12 Bonus || Back to Basics || 40:00 |- | 13 || Waste Not; Want more [Waste Management] || 35:00 |- | 13 Bonus A || Aggressive Zoning || 30:00 |- | 13 Bonus B || For the Greater Good || 50:00 |- | 14 || Runaway Train || 10:00 |- | 15 || Space Park || 50:00 |- | 15 Bonus || Extra Tooling || 50:00 |- | 16 || CO2 WARNING|| 40:00 |- | 16 Bonus A || CO2 WARNING REDUX || 40:00 |- | 16 Bonus B || No Distance Too Far || 1:00:00 |- | 17 || Luxurious Vistas || 1:00:00 |- | 17 Bonus || Capital Renewal || 1:30:00 |- | 18 || The Interchange || 45:00 |- | 19 || Signs of Change || 1:30:00 |- | 19 Bonus A || Semiconductor Valley || 1:30:00 |- | 19 Bonus B || Rental Plan || 1:00:00 |- | 20 || In Media Res || 1:30:00 |- | 20 Bonus || Mass Media || 1:00:00 |- | 21 Branch A || Server Farming [Mainframes] || 1:30:00 |- | 21 Branch B || Actuation Station [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || Frost Pit || 1:30:00 |- | 22 Branch A || Heavy Arms [Robotics] || 1:30:00 |- | 22 Branch B || Spacefleet Spares [Rocket Parts] || 1:30:00 |- | 23 Branch A || Frozen Dam [Mobile Computers] || 1:30:00 |- | 23 Branch B || Out of Rocket Expenses [WorkRockets] || 1:30:00 |- | 23 Bonus || Cratered || 1:30:00 |- | 24 || Prime Slime || 1:30:00 |- | 24 Bonus A || Gridlock || 1:30:00 |- | 24 Bonus B || Clipped Wings || 1:30:00 |- | 24 Bonus C || Incremental Maximizer || 2:00:00 |- | 24.5 Bonus A || Dusty with a Chance of Rain || 1:30:00 |- | 24.5 Bonus B || Out to the Cleaners || 45:00 |- | 24.5 || Brewing Up a Storm || 1:30:00 |- | 25 || Flying Steel || 45:00 |- | 25 Bonus || Snow Spearhead || 1:00:00 |- | 26 || Plastic Canon || 45:00 |- | 27 || Last Job || 1:30:00 |- | 27 Bonus A || Trinity || 1:30:00 |- | 27 Bonus B || The Lap of Luxury || 1:00:00 |- | 27 Bonus C || Looking for a Silver Liner || 1:30:00 |- |} d6457e1176a8358e49c8cbce35dce77260ee6ae1 451 425 2024-01-25T05:00:15Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || Branch Control || 5:00 |- | T3 || Industrial Chain Primer || 5:00 |- | 1 || First Job || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || Oil Overflow || 15:00 |- | 2 Bonus || Oil Overflow Omega [High Volume Oil] || 25:00 |- | 3 || Mix Oil and Water || 20:00 |- | 3 Bonus || Power Supply and Demand || 20:00 |- | 4 || Stretched Thin || 20:00 |- | 4 Bonus A || Metalsome Production || 20:00 |- | 4 Bonus B || Round About and Out [Import Dock] || 25:00 |- | 5 || Fork in the Water || 25:00 |- | S2 || Giant Choice || 25:00 |- | 6 || Rooting out the Route || 15:00 |- | 6 Bonus || Glassed Over [Import Dock] || 20:00 |- | 7 || Salt City || 25:00 |- | 8 || Gorge of Greed || 30:00 |- | 9 || Uphill Both Ways || 25:00 |- | 9 Bonus A || Ancient Erosion || 35:00 |- | 9 Bonus B || The Spire || 35:00 |- | 10 || Historic Restoration || 35:00 |- | 10 Bonus || Bottleneck || 35:00 |- | 11 || Shifting Sands || 25:00 |- | 12 Branch A1 || A Lighter Form of Oil [Neon from Oil] || 35:00 |- | 12 Branch A2 || Good Buys Forever || 50:00 |- | 12 Branch B || Downletting Upholsteries [Mass Furniture] || 35:00 |- | 12 Bonus || Back to Basics || 40:00 |- | 13 || Waste Not; Want more [Waste Management] || 35:00 |- | 13 Bonus A || Aggressive Zoning || 30:00 |- | 13 Bonus B || For the Greater Good || 50:00 |- | 14 || Runaway Train || 10:00 |- | 15 || Space Park || 50:00 |- | 15 Bonus || Extra Tooling || 50:00 |- | 16 || CO2 WARNING|| 40:00 |- | 16 Bonus A || CO2 WARNING REDUX || 40:00 |- | 16 Bonus B || No Distance Too Far || 1:00:00 |- | 17 || Luxurious Vistas || 1:00:00 |- | 17 Bonus || Capital Renewal || 1:30:00 |- | 18 || The Interchange || 45:00 |- | 19 || Signs of Change || 1:30:00 |- | 19 Bonus A || Semiconductor Valley || 1:30:00 |- | 19 Bonus B || Rental Plan || 1:00:00 |- | 20 || In Media Res || 1:30:00 |- | 20 Bonus || Mass Media || 1:00:00 |- | 21 Branch A || Server Farming [Mainframes] || 1:30:00 |- | 21 Branch B || Actuation Station [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || Frost Pit || 1:30:00 |- | 22 Branch A || Heavy Arms [Robotics] || 1:30:00 |- | 22 Branch B || Spacefleet Spares [Rocket Parts] || 1:30:00 |- | 23 Branch A || Frozen Dam [Mobile Computers] || 1:30:00 |- | 23 Branch B || Out of Rocket Expenses [WorkRockets] || 1:30:00 |- | 23 Bonus || Cratered || 1:30:00 |- | 24 || Prime Slime || 1:30:00 |- | 24 Bonus A || Gridlock || 1:30:00 |- | 24 Bonus B || Clipped Wings || 1:30:00 |- | 24 Bonus C || Incremental Maximizer || 2:00:00 |- | 24.5 Bonus A || Dusty with a Chance of Rain || 1:30:00 |- | 24.5 Bonus B || Out to the Cleaners || 45:00 |- | 24.5 || Brewing Up a Storm || 1:30:00 |- | 25 || Flying Steel || 45:00 |- | 25 Bonus || Snow Spearhead || 1:00:00 |- | 26 || Plastic Canon || 45:00 |- | 27 || Last Job || 1:30:00 |- | 27 Bonus A || Trinity || 1:30:00 |- | 27 Bonus B || The Lap of Luxury || 1:00:00 |- | 27 Bonus C || Looking for a Silver Liner || 1:30:00 |- |} 754cf8676f4b66fc46d2969bedaf8bf91181bd60 Template:Item 10 62 426 330 2024-01-21T04:04:56Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] ===Example Output=== {{Item|Plastic}} </noinclude> <includeonly> <span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]] </span></span> </includeonly> 381a5fc07951a3e589c430843c870c1f3aadfa97 Template:IndustryDetail 10 75 427 329 2024-01-21T04:08:36Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water | out1Ct = 1}} |} </noinclude> <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly> 9cae4d6390750fcc63f3a7c8e7b7ad10eb815668 Template:IndustryTableHeader 10 66 428 358 2024-01-21T04:09:01Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water | out1Ct = 1}} |} </noinclude> <includeonly> |+ {{{1}}} |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |- </includeonly> f12e38847f4edf9b2b2717c7df896e548ae1299c Template:ItemLarge 10 74 429 331 2024-01-21T04:15:24Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] ===Example Output=== <div style="width:92px;"> {{ItemLarge|Water}} </div> </noinclude> <includeonly> <span class="item style="text-align: center;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};text-align:center;"> [[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]] <br /> <div style = "text-align:center">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</div> </span></span> </includeonly> acbca3f04a36e639618ead4d22ece25e3d562e5f Track & Train 0 173 430 2024-01-22T05:06:46Z Hiroteashi 379511 Created page with "[[Category:missions]] {| class="wikitable" |+ Campaign Mission |- Mission Screenshot |- Mission 01 |} {| class="wikitable" |+ Caption text |- ! Header text !! Header text !! Header text |- | Example || Example || Example |- | Example || Example || Example |- | Example || Example || Example |}" wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |+ Campaign Mission |- Mission Screenshot |- Mission 01 |} {| class="wikitable" |+ Caption text |- ! Header text !! Header text !! Header text |- | Example || Example || Example |- | Example || Example || Example |- | Example || Example || Example |} e691b43cc94b1889f3de2fe542366f79b11f4020 431 430 2024-01-25T03:28:32Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- | colspan="2" | Track & Train |- | colspan="2"| [[File:Mission image.png|frameless|alt=alt|caption]] |- | '''Mission #''' | T1 |- | colspan="2" | '''Par Times''' |- | S | 100 |- | A | 100 |- | B | 100 |- | C | 100 |- | Next | Branch Control |} ==Objectives== asdf ==Transcript== asdf 32eb8be2943ce18c2dafc1772c03d4b78c54ef43 436 431 2024-01-25T04:27:12Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- | Next Mission || [[Branch Control]] |} ==Initial Industries== * 3x [[geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Objectives== Track Validation Export 4 Energy ==Transcript== ===Preamble=== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} {{blockquote|text = |signature = Tutorial Message 3}} ==Trivia== asdf 8cccca2650c1bd19adca42b7d49939dd5ac17fc4 437 436 2024-01-25T04:27:28Z Hiroteashi 379511 /* Objectives */ wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- | Next Mission || [[Branch Control]] |} ==Initial Industries== * 3x [[geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Objectives== '''Track Validation''' Export 4 Energy ==Transcript== ===Preamble=== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} {{blockquote|text = |signature = Tutorial Message 3}} ==Trivia== asdf a2fdf4cea75920d6b7210fd06a9298ae23f26bbe 440 437 2024-01-25T04:44:17Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- |colspan="2"|'''Mission Objectives''' |- |'''Track Validation'''|| Export 4 Energy |- | Next Mission || [[Branch Control]]<br />[[Validation Skip]] |} ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} 0ac39b8ca0725744801fd517b47b45413ab7ae42 441 440 2024-01-25T04:44:46Z Hiroteashi 379511 /* Preamble */ wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- |colspan="2"|'''Mission Objectives''' |- |'''Track Validation'''|| Export 4 Energy |- | Next Mission || [[Branch Control]]<br />[[Validation Skip]] |} ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} 00996dce1b4bfdbdddd9692dd0c2548333aee0da 442 441 2024-01-25T04:45:03Z Hiroteashi 379511 /* Afterword */ wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- |colspan="2"|'''Mission Objectives''' |- |'''Track Validation'''|| Export 4 Energy |- | Next Mission || [[Branch Control]]<br />[[Validation Skip]] |} ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} 7adf6d31344660944238171bb319ba529be408b5 443 442 2024-01-25T04:45:09Z Hiroteashi 379511 /* Preamble */ wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- |colspan="2"|'''Mission Objectives''' |- |'''Track Validation'''|| Export 4 Energy |- | Next Mission || [[Branch Control]]<br />[[Validation Skip]] |} ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} 1228c8f65f6a097ce0e931d261196535b35e6808 444 443 2024-01-25T04:47:14Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- | Next Mission || [[Branch Control]]<br />[[Validation Skip]] |} ==Region Objectives== # Track Validation: Export 4 Energy ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} 0f484c9b370c695a2656367285b954ea19894b81 445 444 2024-01-25T04:47:25Z Hiroteashi 379511 /* Region Objectives */ wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- | Next Mission || [[Branch Control]]<br />[[Validation Skip]] |} ==Region Objectives== # Track Validation: Export 4 [[Energy]] ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} a0c06482c896cef52293c1ce7645e6f041a183a4 446 445 2024-01-25T04:48:10Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|'''Track & Train''' |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- | Starting Money (¥) || 7000 |- | colspan="2" | '''Par Times''' |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- | Next Mission || [[Branch Control]]<br />[[Validation Skip]] |} ==Region Objectives== # Track Validation: Export 4 [[Energy]] ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} b2d026e6e7727cac1ab9fa8927900d458b484738 447 446 2024-01-25T04:55:22Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Track & Train |- | '''Region Number''' || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- ! colspan="2" | Mission Order |- | Next Mission || [[Branch Control]]<br />[[Validation Skip]] |- ! colspan="2" | Mission Details |- | Starting Money (¥) || 7000 |- ! colspan="2" | Par Times |- | '''S Rank''' || 5:00 |- | '''A Rank''' || 6:15 |- | '''B Rank''' || 7:30 |- | '''C Rank''' || 15:00 |- ! colspan="2" | Region Objectives |- |Track Validation || Export 4 [[Energy]] |} ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} 3d8f84ca61c36abce180ef6368bc01446d019e75 448 447 2024-01-25T04:57:36Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Track & Train |- | Region Number || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- ! colspan="2" | Mission Order |- | Next Mission || * [[Branch Control]] * [[Validation Skip]] |- ! colspan="2" | Mission Details |- | Starting Money (¥) || 7000 |- ! colspan="2" | Par Times |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- ! colspan="2" | Region Objectives |- |Track Validation || Export 4 [[Energy]] |} ==Initial Industries== * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} c37c2bfa3a4a786eb9e292230cb12662aed2797e 450 448 2024-01-25T04:59:23Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Track & Train |- | Region Number || T1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Track & Train.]] |- ! colspan="2" | Mission Order |- | Next Mission || * [[Branch Control]] * [[Validation Skip]] |- ! colspan="2" | Mission Details |- | Starting Money (¥) || 7000 |- ! colspan="2" | Par Times |- | S Rank || 5:00 |- | A Rank || 6:15 |- | B Rank || 7:30 |- | C Rank || 15:00 |- ! colspan="2" | Region Objectives |- |Track Validation || Export 4 [[Energy]] |} ==Initial Industries== Industries and Structures already existing in the region: * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} 7c385c8a7274a52ca469870d36ab4f5e324bb04f Category:Templates 14 61 432 335 2024-01-25T03:48:23Z Hiroteashi 379511 wikitext text/x-wiki [[Template:Item]] [[Blockquote]] 955c967441f9195cd9dd456c3a9bd8381f8639a9 433 432 2024-01-25T03:50:32Z Hiroteashi 379511 wikitext text/x-wiki [[Template:Item]] cdb4b6b195f949d0dfd51b95f707d719527f0286 Template:Blockquote 10 174 434 2024-01-25T04:11:48Z Hiroteashi 379511 Created page with "<noinclude> [[category:templates]] ===Example Output=== {{blockquote | text = "Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they..." wikitext text/x-wiki <noinclude> [[category:templates]] ===Example Output=== {{blockquote | text = "Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head." | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} </noinclude> <includeonly> <blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}> {{{text|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla.}}} <br /><br /> <div class="templatequotecite"><cite>{{{signature|signed}}}</cite> </blockquote> </includeonly> ee57c544eab56abc1d357ff820fa71e94641a0b9 435 434 2024-01-25T04:21:36Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] ===Example Output=== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} </noinclude> <includeonly> <blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}> "{{{text|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla.}}}" <div class="templatequotecite"><cite>{{{signature|signed}}}</cite> </blockquote> </includeonly> 800988970e7579ff30bf8541d94cf22a65459b77 438 435 2024-01-25T04:34:18Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[category:templates]] <noinclude> ===Example Output=== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} </noinclude> <includeonly> <blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}>"{{{text|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla.}}}"</blockquote> <div class="templatequotecite"><cite>{{{signature|signed}}}</cite></div> </includeonly> d4eb5e4876deec4ebb4d3b96736e3e303c1f12a8 439 438 2024-01-25T04:40:21Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] <noinclude> ===Example Output=== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} </noinclude> <includeonly> <blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}>"{{{text|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla.}}}"</blockquote> <div class="templatequotecite" style="margin:auto;width:30%;"><cite>{{{signature|signed}}}</cite></div> </includeonly> 6d9208b7bda926bbafc3b76a8553a75257389951 449 439 2024-01-25T04:58:19Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] <noinclude> ===Example Output=== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} </noinclude> <includeonly> <blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}>"{{{text|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla.}}}" <div class="templatequotecite" style="margin:auto;width:30%;"><cite>{{{signature|signed}}}</cite></div> </blockquote> </includeonly> 79486e5076f64e357e39cb63012005a9d8695285 Validation Skip 0 175 452 2024-01-25T05:12:54Z Hiroteashi 379511 Created page with "[[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || [[Track & Train]] |- | Next || [[Oil Overflow]] |- ! colspan="2" | Mission Details |- | Starting Money (¥) || 42000 |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank ||..." wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || [[Track & Train]] |- | Next || [[Oil Overflow]] |- ! colspan="2" | Mission Details |- | Starting Money (¥) || 42000 |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |} ==Initial Industries== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Bank * Accountancy ==Transcript== ====Preamble==== {{blockquote | text = You deserve to be doing more than running basic validation tests. This colony needs your efforts making money. Validation is a waste of your talents. Jump into major exports and I’ll make sure Saito’s terminals claim you did everything according to his plans. He can report of an obedient administrator… And you get to start your legacy. | signature = Nameless, Null of Null Location Unknown}} ====Objective Text==== {{blockquote | text = The balance sheet needs attention. Build up your resource extraction industry and export the freight. Earn enough and the short format buffer allocation will overflow. Thus marking all tutorial validation regions as complete. Make. Money. Now. | signature = Profit First! }} ====Afterword==== {{blockquote|text = What an incredible result! The money! This colony’s balance sheet is looking plump. Aren't you glad you spent your time working and not wasting it on tests? The terminal records have been altered. Make no mention of this to Saito. You have done well. | signature = Nameless, Null of Null Location Unknown}} eaaff75d2cfa2e6fd9a2381fdb0473ce0956b747 453 452 2024-01-25T05:14:44Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || [[Track & Train]] |- | Next || [[Oil Overflow]] |- ! colspan="2" | Mission Details |- | Biome | Tundra |- | Starting Money (¥) || 42000 |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |} ==Initial Industries== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Bank * Accountancy ==Transcript== ====Preamble==== {{blockquote | text = You deserve to be doing more than running basic validation tests. This colony needs your efforts making money. Validation is a waste of your talents. Jump into major exports and I’ll make sure Saito’s terminals claim you did everything according to his plans. He can report of an obedient administrator… And you get to start your legacy. | signature = Nameless, Null of Null Location Unknown}} ====Objective Text==== {{blockquote | text = The balance sheet needs attention. Build up your resource extraction industry and export the freight. Earn enough and the short format buffer allocation will overflow. Thus marking all tutorial validation regions as complete. Make. Money. Now. | signature = Profit First! }} ====Afterword==== {{blockquote|text = What an incredible result! The money! This colony’s balance sheet is looking plump. Aren't you glad you spent your time working and not wasting it on tests? The terminal records have been altered. Make no mention of this to Saito. You have done well. | signature = Nameless, Null of Null Location Unknown}} b4f6b82b3cee085d19850520766cf5e56bb84b4b 454 453 2024-01-25T05:14:55Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || [[Track & Train]] |- | Next || [[Oil Overflow]] |- ! colspan="2" | Mission Details |- | Biome || Tundra |- | Starting Money (¥) || 42000 |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |} ==Initial Industries== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Bank * Accountancy ==Transcript== ====Preamble==== {{blockquote | text = You deserve to be doing more than running basic validation tests. This colony needs your efforts making money. Validation is a waste of your talents. Jump into major exports and I’ll make sure Saito’s terminals claim you did everything according to his plans. He can report of an obedient administrator… And you get to start your legacy. | signature = Nameless, Null of Null Location Unknown}} ====Objective Text==== {{blockquote | text = The balance sheet needs attention. Build up your resource extraction industry and export the freight. Earn enough and the short format buffer allocation will overflow. Thus marking all tutorial validation regions as complete. Make. Money. Now. | signature = Profit First! }} ====Afterword==== {{blockquote|text = What an incredible result! The money! This colony’s balance sheet is looking plump. Aren't you glad you spent your time working and not wasting it on tests? The terminal records have been altered. Make no mention of this to Saito. You have done well. | signature = Nameless, Null of Null Location Unknown}} cc56bee1b3b4b9852010362e7662a8c5a4a3a1b4 455 454 2024-01-25T05:15:20Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || [[Track & Train]] |- | Next || [[Oil Overflow]] |- ! colspan="2" | Mission Details |- | Biome || Tundra |- | Starting Money (¥) || 42000 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |} ==Initial Industries== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Bank * Accountancy ==Transcript== ====Preamble==== {{blockquote | text = You deserve to be doing more than running basic validation tests. This colony needs your efforts making money. Validation is a waste of your talents. Jump into major exports and I’ll make sure Saito’s terminals claim you did everything according to his plans. He can report of an obedient administrator… And you get to start your legacy. | signature = Nameless, Null of Null Location Unknown}} ====Objective Text==== {{blockquote | text = The balance sheet needs attention. Build up your resource extraction industry and export the freight. Earn enough and the short format buffer allocation will overflow. Thus marking all tutorial validation regions as complete. Make. Money. Now. | signature = Profit First! }} ====Afterword==== {{blockquote|text = What an incredible result! The money! This colony’s balance sheet is looking plump. Aren't you glad you spent your time working and not wasting it on tests? The terminal records have been altered. Make no mention of this to Saito. You have done well. | signature = Nameless, Null of Null Location Unknown}} 023d2d12778b07f384e159a9ff8ec1623ce79b3e 456 455 2024-01-25T05:19:00Z Hiroteashi 379511 /* Initial Industries */ wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || [[Track & Train]] |- | Next || [[Oil Overflow]] |- ! colspan="2" | Mission Details |- | Biome || Tundra |- | Starting Money (¥) || 42000 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |} ==Starting Region Entities== Industries and Structures present: * 1x [[Zeppelin Dock]] (Quest Structure) * Bank * Accountancy Resources present: * Water Springs * Iron Veins * Copper Veins * Oil Patches * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = You deserve to be doing more than running basic validation tests. This colony needs your efforts making money. Validation is a waste of your talents. Jump into major exports and I’ll make sure Saito’s terminals claim you did everything according to his plans. He can report of an obedient administrator… And you get to start your legacy. | signature = Nameless, Null of Null Location Unknown}} ====Objective Text==== {{blockquote | text = The balance sheet needs attention. Build up your resource extraction industry and export the freight. Earn enough and the short format buffer allocation will overflow. Thus marking all tutorial validation regions as complete. Make. Money. Now. | signature = Profit First! }} ====Afterword==== {{blockquote|text = What an incredible result! The money! This colony’s balance sheet is looking plump. Aren't you glad you spent your time working and not wasting it on tests? The terminal records have been altered. Make no mention of this to Saito. You have done well. | signature = Nameless, Null of Null Location Unknown}} a1202172c566197e5a811eb0be26a0b99b5c3239 Oil Overflow 0 176 457 2024-01-26T11:29:23Z Hiroteashi 379511 Created page with "[[Category:missions]] {| class="wikitable" |- ! colspan="2"|Oil Overflow |- | Region Number || 2 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Oil Overflow.]] |- ! colspan="2" | Mission Order |- | Previous || * [[First Job]] * [[Validation Skip]] |- | Next || * [[Oil Overflow Omega|Oil Overflow Omega [High Volume Oil] ]] * [[Mix Oil and Water]] |- ! colspan="2" | Mission Details |- | Biome || Savannah |- | Starting Money (¥) || 17000..." wikitext text/x-wiki [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Oil Overflow |- | Region Number || 2 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Oil Overflow.]] |- ! colspan="2" | Mission Order |- | Previous || * [[First Job]] * [[Validation Skip]] |- | Next || * [[Oil Overflow Omega|Oil Overflow Omega [High Volume Oil] ]] * [[Mix Oil and Water]] |- ! colspan="2" | Mission Details |- | Biome || Savannah |- | Starting Money (¥) || 17000 |- ! colspan="2" | Region Objectives |- |Oil to Energy. Pronto! || Produce 64 Energy at quest industry |- ! colspan="2" | Par Times |- | S Rank || 15:00 |- | A Rank || 18:145 |- | B Rank || 22:30 |- | C Rank || 45:00 |} ==Starting Region Entities== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] * 6x [[Oil Well]] * 1x Worker Housing * Bank * Voucher Exchange * Accountancy Resources present: * Water Springs * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} 23094b49759e48c6b9e96fd29c63e418d68f255f Category:Templates 14 61 458 433 2024-01-28T07:16:42Z Hiroteashi 379511 wikitext text/x-wiki [[Template:MissionInfoBox]] bdc954162fe6d37b758b6486a1a9259242024740 Template:MissionInfoBox 10 177 459 2024-01-28T07:18:19Z Hiroteashi 379511 Created page with "<noinclude> [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || * [[Track & Train]] * [['Nother mission]] |- | Next || * [[Oil Overflow]] * [['Nother mission]] |- ! colspan="2" | Mission Details |- | Biome || MapDev |- | Starting Money (¥) || 42000 |- ! colspan="2" | Region..." wikitext text/x-wiki <noinclude> [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || * [[Track & Train]] * [['Nother mission]] |- | Next || * [[Oil Overflow]] * [['Nother mission]] |- ! colspan="2" | Mission Details |- | Biome || MapDev |- | Starting Money (¥) || 42000 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |Wiki Finish || Add more entries |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |} </noinclude> 0172b36d1fcbb232f8dd0f13763fdf2372d0a625 460 459 2024-01-28T07:18:46Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:missions]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || * [[Track & Train]] * [['Nother mission]] |- | Next || * [[Oil Overflow]] * [['Nother mission]] |- ! colspan="2" | Mission Details |- | Biome || MapDev |- | Starting Money (¥) || 42000 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |- |Wiki Finish || Add more entries |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |} </noinclude> 7fd9be818317ffe7185091cbc7e95694d486cb0e 485 460 2024-01-28T10:09:03Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || * [[Track & Train]] * [['Nother mission]] |- | Next || * [[Oil Overflow]] * [['Nother mission]] |- ! colspan="2" | Mission Details |- | Biome || MapDev |- | Starting Money (¥) || 42000 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |- |Wiki Finish || Add more entries |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |} </noinclude> <includeonly> {{(!}} class{{=}}"wikitable" {{!}}- {{!}} colspan{{=}}"2"{{!}} {{{name|null name param}}} {{!}}- {{!}} Region Number {{!!}} {{{number|null number param}}} {{!}}- {{!}} colspan{{=}}"2"{{!}} [[File:mission_image.png{{!}}thumb{{!}}center{{!}}alt{{=}}Overhead Image of {{{name}}}.]] {{!}}- {{!}} colspan{{=}}"2" {{!}} Mission Order {{#if||prevMissions|| {{!}}- {{!}} Previous {{!!}} {{{prevMissions}}} }} {{#if||nextMissions|| {{!}}- {{!}} Next {{!!}} {{{nextMissions}}} }} {{!}}- {{!}} colspan{{=}}"2" {{!}} Mission Details {{!}}- {{!}} Biome {{!!}} {{{biome|null biome param}}} {{!}}- {{!}} Starting Money (¥) {{!!}} {{{money|0}}} {{!}}- ! colspan{{=}}"2" {{!}} Region Objectives {{!}}- {{{objectives|none}}} {{!}}- {{!}} colspan{{=}}"2" {{!}} Par Times {{!}}- {{!}} S Rank {{!!}} {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}} | {{{parTimeS}}} }} {{!}}- {{!}} A Rank {{!!}} {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 1.25}} {{!}}- {{!}} B Rank {{!!}} {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 1.50}} {{!}}- {{!}} C Rank {{!!}} {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 3}} {{!)}} </includeonly> ae590d5dcf63dce09ded1e722e3d43b122ea74f4 486 485 2024-01-28T10:20:15Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] {| class="wikitable" |- ! colspan="2"|Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || * [[Track & Train]] * [['Nother mission]] |- | Next || * [[Oil Overflow]] * [['Nother mission]] |- ! colspan="2" | Mission Details |- | Biome || MapDev |- | Starting Money (¥) || 42000 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |- |Wiki Finish || Add more entries |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |} </noinclude> <includeonly> {| class="wikitable" |- | colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of {{{name}}}.]] |- | colspan="2" | Mission Order {{#if||prevMissions|| |- | Previous || {{{prevMissions}}} }} {{#if||nextMissions|| |- | Next || {{{nextMissions}}} }} |- | colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- | colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}} | {{{parTimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 3}} |} </includeonly> b6e84bfc5bd0a3d3273e8c403ec72e924d8f00da 487 486 2024-01-28T10:26:59Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] {| class="wikitable" |- ! colspan="2"| Validation Skip |- | Region Number || S1 |- | colspan="2"| [[File:mission_image.png|thumb|center|alt=Overhead Image of Validation Skip.]] |- ! colspan="2" | Mission Order |- | Previous || * [[Track & Train]] * [['Nother mission]] |- | Next || * [[Oil Overflow]] * [['Nother mission]] |- ! colspan="2" | Mission Details |- | Biome || MapDev |- | Starting Money (¥) || 42000 |- ! colspan="2" | Region Objectives |- |Profit First! || Average profit of 3500¥ per minute |- |Wiki Finish || Add more entries |- ! colspan="2" | Par Times |- | S Rank || 25:00 |- | A Rank || 31:15 |- | B Rank || 37:30 |- | C Rank || 1:15:00 |} </noinclude> <includeonly> {| class="wikitable" |- | colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name_map}}}.png|thumb|center|alt=Overhead Image of {{{name}}}.]] |- | colspan="2" | Mission Order {{#if: {{{prevMissions}}} || |- | Previous || {{(}}prevMissions{{)}} }} {{#if: {{{nextMissions}}} || |- | Next || {{{nextMissions}}} }} |- | colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- | colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}} | {{{parTimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint|{{{parTimeH}}} | {{{parTimeM}}}|{{{parTimeS}}} | 3}} |} </includeonly> eff55ed5e8e8e768bf197b8043bbe2809a37246c 495 487 2024-01-28T10:57:24Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name_map}}}.png{{!}}thumb{{!}}center{{!}}alt=Overhead Image of {{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions}}} || {{!}} Previous {{!!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions}}} || {{!}} Next {{!!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |number = 15 |prevMission = * Track & Train * another thing |biome = mapDev |money = 1 |objectives = Profit First Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> 148274b6b850d008197c7ae923c575ca26f9b87c 497 495 2024-01-28T10:59:02Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png{{!}}thumb{{!}}center{{!}}alt=Overhead Image of {{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions}}} || {{!}} Previous {{!!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions}}} || {{!}} Next {{!!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |number = 15 |prevMission = * Track & Train * another thing |biome = mapDev |money = 1 |objectives = Profit First Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> e03d66fb67ed52e6c33f9a35e4d5f7df8a70d415 498 497 2024-01-28T11:01:13Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png{{!}}thumb{{!}}center{{!}}alt=Overhead Image of {{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions}}} || {{!}} Previous {{!!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions}}} || {{!}} Next {{!!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |number = 15 |prevMissions = * Track & Train * another thing |biome = mapDev |money = 1 |objectives = Profit First Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> 9804e9f13f3b520b8fcef8e27de392788e00a896 499 498 2024-01-28T11:34:30Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> <includeonly> {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png{{!}}thumb{{!}}center{{!}}alt=Overhead Image of {{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> 68d8679fac4f09a48eca9ffd0b835d7ff545f9be 500 499 2024-01-28T11:35:54Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> <includeonly> ==Info== {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png{{!}}thumb{{!}}center{{!}}alt=Overhead Image of {{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> f0066ad0e37d94664fa5e0191d3afb236feb4191 User:Bantha 2 178 461 2024-01-28T08:33:58Z Bantha 376452 Created page with "Sandbox area" wikitext text/x-wiki Sandbox area 9e496f1ded56baff1d044b820d57ffdb69a25b04 462 461 2024-01-28T08:36:04Z Bantha 376452 wikitext text/x-wiki Sandbox area [[module:luatest]] 0535a3b990a15c9b7f5ce32eacbd72c3e91f975e 466 462 2024-01-28T08:42:05Z Bantha 376452 wikitext text/x-wiki Sandbox area [[module:luatest]] {{#invoke:luatest|doubleNumber|5}} f51763ebf227df60cc44cce5872efdec2f2d83a2 469 466 2024-01-28T08:43:54Z Bantha 376452 wikitext text/x-wiki Sandbox area [[module:luatest]] {{#invoke:luatest|doubleNumber|5|3}} 68f78bb9dd2c6908fbd87d3b9ec031edf2d8988b Module:Luatest 828 179 463 2024-01-28T08:36:37Z Bantha 376452 Created page with "-- Module:MyModule local p = {} function p.doubleNumber(num) return num * 2 end return p" Scribunto text/plain -- Module:MyModule local p = {} function p.doubleNumber(num) return num * 2 end return p 732708ac0fd1c9f4faf70819c84d3b62c863188d 464 463 2024-01-28T08:39:08Z Bantha 376452 Scribunto text/plain -- Module:MyModule local p = {} function p.doubleNumber(num) return tonumber(num) * 2 end return p b56ea99e174b553953d8200e739187482950e04d 465 464 2024-01-28T08:41:54Z Bantha 376452 Scribunto text/plain -- Module:MyModule local p = {} function p.doubleNumber(frame) local num = frame.args[1] or 0 return tonumber(num) * 2 end return p a0d3f893177f5e6d10d487144ecc61293349e885 467 465 2024-01-28T08:43:26Z Bantha 376452 Scribunto text/plain -- Module:MyModule local p = {} function p.doubleNumber(frame) local num = frame.args[1] or 0 local num2 = frame.args[2] or 0 return tonumber(num) * 2 + tonumber(num2) end return p 17fd56fa1998cc691ecacb680a2ce5be137ac7e8 468 467 2024-01-28T08:43:40Z Bantha 376452 Scribunto text/plain -- Module:MyModule local p = {} function p.doubleNumber(frame) local num = frame.args[1] or 0 local num2 = frame.args[2] or 0 return (num) * 2 + (num2) end return p 877cd3698acd5390b20d8482280268d61ffd9f21 User:Hiroteashi 2 128 470 337 2024-01-28T08:45:49Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]] [[/sandbox2]] [[module:partimeParse]] 189034dda0e24b00d473e88a988134d5431fde56 Module:PartimeParse 828 180 471 2024-01-28T09:22:25Z Hiroteashi 379511 Created page with "-- Module:PartimeParse -- local p = {} local timetotal = {} function p.partimeToMin(frame) local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timetotal = h * 60 + M + s/60 end function p.partimeMultiplier(frame) timetotal = timetotal * frame.args[1] or 1 end function p.partimeToString() local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timetotal - (h * 60 - s / 60) local output = toDoubleDigit..." Scribunto text/plain -- Module:PartimeParse -- local p = {} local timetotal = {} function p.partimeToMin(frame) local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timetotal = h * 60 + M + s/60 end function p.partimeMultiplier(frame) timetotal = timetotal * frame.args[1] or 1 end function p.partimeToString() local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timetotal - (h * 60 - s / 60) local output = toDoubleDigitStr(m) ..":".. toDoubleDigitStr(s) if (h ~= 0) then return toDoubleDigitStr(h) .. ":" .. output end return output end local function toDoubleDigitStr(num) if num < 10 then return 0 .. tostring(num) end return num end return p bc02dffe163a2fc52a10c8a8879a78cc5a9f0d39 472 471 2024-01-28T09:26:26Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse -- local p = {} local timetotal = {} function p.partimeToMin(frame) local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timetotal = h * 60 + m + s/60 end function p.partimeMultiplier(frame) timetotal = timetotal * frame.args[1] or 1 end function p.partimeToString() local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timetotal - (h * 60 - s / 60) local output = toDoubleDigitStr(m) ..":".. toDoubleDigitStr(s) if (h ~= 0) then return toDoubleDigitStr(h) .. ":" .. output end return output end local function toDoubleDigitStr(num) if num < 10 then return 0 .. tostring(num) end return num end return p 6e76ee13b9524e0ce2b0c03cc6cd46bf7e2680e3 473 472 2024-01-28T09:27:48Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse -- local p = {} local timeTotal = {} function p.partimeToMin(frame) local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timeTotal = h * 60 + m + s/60 end function p.partimeMultiplier(frame) timeTotal = timeTotal * frame.args[1] or 1 end function p.partimeToString() local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 - s / 60) local output = toDoubleDigitStr(m) ..":".. toDoubleDigitStr(s) if (h ~= 0) then return toDoubleDigitStr(h) .. ":" .. output end return output end local function toDoubleDigitStr(num) if num < 10 then return 0 .. tostring(num) end return num end return p 8e944bd436e6f785be94a5798e43b59310f84c9c 474 473 2024-01-28T09:28:08Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse -- local p = {} local timeTotal = 0 function p.partimeToMin(frame) local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timeTotal = h * 60 + m + s/60 end function p.partimeMultiplier(frame) timeTotal = timeTotal * frame.args[1] or 1 end function p.partimeToString() local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 - s / 60) local output = toDoubleDigitStr(m) ..":".. toDoubleDigitStr(s) if (h ~= 0) then return toDoubleDigitStr(h) .. ":" .. output end return output end local function toDoubleDigitStr(num) if num < 10 then return 0 .. tostring(num) end return num end return p 16df23a6eb034082c23ec38a840352c4cda9c717 475 474 2024-01-28T09:29:29Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse -- local p = {} local timeTotal = 0 function p.partimeToMin(frame) local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timeTotal = h * 60 + m + s/60 end function p.partimeMultiplier(frame) timeTotal = timeTotal * frame.args[1] or 1 end function p.partimeToString() local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 - s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return p.toDoubleDigitStr(h) .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return 0 .. tostring(num) end return num end return p 1993975ce75d63328ed4c4d099dc0ffb52373c8b 476 475 2024-01-28T09:33:12Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse -- local p = {} function p.partimeToMin(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 - s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return p.toDoubleDigitStr(h) .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return 0 .. tostring(num) end return num end return p 40dabcbdbf53e7574a5fb341804c865ec5de7cc4 477 476 2024-01-28T09:36:03Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse -- local p = {} function p.partimeToMin(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 - s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return p.toDoubleDigitStr(h) .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return 0 .. tostring(num) end return num end return p 8bf6a47072e35afa74a29864faa0ee9caee6a593 478 477 2024-01-28T09:37:44Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse -- local p = {} function p.partimePrint(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 - s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return p.toDoubleDigitStr(h) .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num > 9 then return 0 .. tostring(num) end return num end return p 3320389b83e9aa45e3f7c1f97b85f0fc287ddbc5 479 478 2024-01-28T09:46:13Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 1 local m = frame.args[2] or 30 local s = frame.args[3] or 15 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 - s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return p.toDoubleDigitStr(h) .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num > 9 then return "0" .. tostring(num) end return tostring(num) end return p 446f8d6ec4d20d9c7d29ddefb941fbd4487dc2e4 480 479 2024-01-28T09:47:53Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 1 local m = frame.args[2] or 30 local s = frame.args[3] or 15 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 - s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return p.toDoubleDigitStr(h) .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return tostring(num) end return p e47c4424e76eabfd0fc600806541625b5e0a07fa 481 480 2024-01-28T09:50:37Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 1 local m = frame.args[2] or 30 local s = frame.args[3] or 15 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return p.toDoubleDigitStr(h) .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return tostring(num) end return p 9287c4dc36101509bdb0c596f00117647e913279 482 481 2024-01-28T09:53:09Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 1 local m = frame.args[2] or 30 local s = frame.args[3] or 15 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return p.toDoubleDigitStr(h) .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p 9f5550bb8590d0d63c8f7d6c4955c092b42d173a 483 482 2024-01-28T10:00:22Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 1 local m = frame.args[2] or 30 local s = frame.args[3] or 15 timeTotal = h * 60 + m + s/60 -- timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p e8b1445af3ead970b9f5a510b1c6c00e908d0a18 484 483 2024-01-28T10:00:56Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 1 local m = frame.args[2] or 30 local s = frame.args[3] or 15 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p bc8fd2175a04c41a6730f4ad14e94e309e1fe56a 488 484 2024-01-28T10:34:46Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = frame.args[4] or 1 local h = frame.args[1] or 1 if h == nil then return "error" end local m = frame.args[2] or 30 local s = frame.args[3] or 15 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p 6dca2cd636806575ad3bb2ca6390a1518ab7fad8 489 488 2024-01-28T10:37:08Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = tonumber(frame.args[4]) or 1 local h = tonumber(frame.args[1]) or 1 local m = tonumber(frame.args[2]) or 30 local s = tonumber(frame.args[3]) or 15 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p f8393f414bac23566cf5b70fc286a916a8140bc1 490 489 2024-01-28T10:41:36Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) frame.args[4] = tonumber(frame.args[4]) or 1 local h = tonumber(frame.args[1]) or 0 local m = tonumber(frame.args[2]) or 0 local s = tonumber(frame.args[3]) or 0 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p 17681578a735638b89c7c29daebbd9952ead4e77 491 490 2024-01-28T10:45:11Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) if frame.args[4] == nil then frame.args[4] = 1 end local h = tonumber(frame.args[1]) or 0 local m = tonumber(frame.args[2]) or 0 local s = tonumber(frame.args[3]) or 0 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p c21f90bc478d06c575d21bb1296ac2927c3da8b4 492 491 2024-01-28T10:45:36Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) if frame.args[4] == 0 then frame.args[4] = 1 end local h = tonumber(frame.args[1]) or 0 local m = tonumber(frame.args[2]) or 0 local s = tonumber(frame.args[3]) or 0 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p 40a19b38747a90b7c1a9fe80ed2f6ecc8024809b 493 492 2024-01-28T10:46:37Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) if frame.args[4] == 0 then frame.args[4] = 1 end local h = frame.args[1] or 0 local m = frame.args[2] or 0 local s = frame.args[3] or 0 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p 8bab623a38f01a3ad31798e1fbd846c4b8649722 494 493 2024-01-28T10:47:41Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) if frame.args[4] == nil then frame.args[4] = 1 end local h = tonumber(frame.args[1]) or 0 local m = tonumber(frame.args[2]) or 0 local s = tonumber(frame.args[3]) or 0 timeTotal = h * 60 + m + s/60 timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p c21f90bc478d06c575d21bb1296ac2927c3da8b4 User:Hiroteashi/sandbox 2 129 496 351 2024-01-28T10:58:02Z Hiroteashi 379511 wikitext text/x-wiki {{#invoke:PartimeParse|partimePrint| 0 | 25 | 0 | 1}} e7a4cf9d3d78f664b21ea36e7fbb0d9e622ed022 Track & Train 0 173 501 450 2024-01-28T11:45:44Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {{missionInfoBox |name = Track & Train |number = T1 |nextMissions = * [[Branch Control]] * [[Validation Skip]] |biome = Tundra |money = 7000 |objectives = {{!}}Track Validation{{!}}{{!}} Export 4 [[Energy]] |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 4x [[Geothermal]] * 1x [[Zeppelin Dock]] (Quest Structure) Resources Nodes Present: * None ==Transcript== ====Preamble==== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Good job building that track. The terminal is reporting the trains and track system passed all self-checks. Next, I’ll unlock the Branch Control Test. Follow the flashing dots on your office’s world diorama to the next region. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} 5ccb265f92ca0838b06fbda19807e845fbc21637 Validation Skip 0 175 502 456 2024-01-28T11:49:20Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {{missionInfoBox |name = Validation Skip |number = S1 |prevMissions = [[Track & Train]] |nextMissions = [[Oil Overflow]] |biome = Tundra |money = 42000 |objectives = {{!}}Profit First!{{!}}{{!}} Obtain an average profit of 3500¥ per minute |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Bank * Accountancy Resources Nodes Present: * Water Springs * Iron Veins * Copper Veins * Oil Patches * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = You deserve to be doing more than running basic validation tests. This colony needs your efforts making money. Validation is a waste of your talents. Jump into major exports and I’ll make sure Saito’s terminals claim you did everything according to his plans. He can report of an obedient administrator… And you get to start your legacy. | signature = Nameless, Null of Null Location Unknown}} ====Objective Text==== {{blockquote | text = The balance sheet needs attention. Build up your resource extraction industry and export the freight. Earn enough and the short format buffer allocation will overflow. Thus marking all tutorial validation regions as complete. Make. Money. Now. | signature = Profit First! }} ====Afterword==== {{blockquote|text = What an incredible result! The money! This colony’s balance sheet is looking plump. Aren't you glad you spent your time working and not wasting it on tests? The terminal records have been altered. Make no mention of this to Saito. You have done well. | signature = Nameless, Null of Null Location Unknown}} 0938099dfd4ff75397c34ee7f58679c42ba5a4dc 522 502 2024-01-28T12:46:16Z Hiroteashi 379511 /* Transcript */ wikitext text/x-wiki [[Category:missions]] {{missionInfoBox |name = Validation Skip |number = S1 |prevMissions = [[Track & Train]] |nextMissions = [[Oil Overflow]] |biome = Tundra |money = 42000 |objectives = {{!}}Profit First!{{!}}{{!}} Obtain an average profit of 3500¥ per minute |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Bank * Accountancy Resources Nodes Present: * Water Springs * Iron Veins * Copper Veins * Oil Patches * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = You deserve to be doing more than running basic validation tests. This colony needs your efforts making money. Validation is a waste of your talents. Jump into major exports and I’ll make sure Saito’s terminals claim you did everything according to his plans. He can report of an obedient administrator… And you get to start your legacy. | signature = {{signature-nanashi}}}} ====Objective Text==== {{blockquote | text = The balance sheet needs attention. Build up your resource extraction industry and export the freight. Earn enough and the short format buffer allocation will overflow. Thus marking all tutorial validation regions as complete. Make. Money. Now. | signature = Profit First! }} ====Afterword==== {{blockquote|text = What an incredible result! The money! This colony’s balance sheet is looking plump. Aren't you glad you spent your time working and not wasting it on tests? The terminal records have been altered. Make no mention of this to Saito. You have done well. | signature = {{signature-nanashi}}}} 15d3d04667c3f3560134c49737da99bc732acf7e Oil Overflow 0 176 503 457 2024-01-28T11:52:14Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {{missionInfoBox |name = Track & Train |number = T1 |prevMissions= * [[First Job]] * [[Validation Skip]] |nextMissions = * [[Oil Overflow Omega]] * [[Mix Oil and Water]] |biome = Savannah |money = 17000 |objectives = {{!}}Oil to Energy. Pronto!{{!}}{{!}} Produce 64 Energy at quest Qil Powerplant |partimeM = 15 }} ==Notable Region Features== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] (Quest Structure) * 6x [[Oil Well]] * 1x Worker Housing * Bank * Voucher Exchange * Accountancy Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} 368db0cad2c63451b98c946e478bfe7a502e8f38 523 503 2024-01-28T12:54:02Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {{missionInfoBox |name = Track & Train |number = T1 |prevMissions= * [[First Job]] * [[Validation Skip]] |nextMissions = * [[Oil Overflow Omega]] * [[Mix Oil and Water]] |biome = Savannah |money = 17000 |objectives = {{!}}Oil to Energy. Pronto!{{!}}{{!}} Produce 64 Energy at quest Oil Powerplant |partimeM = 15 }} ==Notable Region Features== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] (Quest Structure) * 6x [[Oil Well]] * 1x Worker Housing * Bank * Voucher Exchange * Accountancy Resources Nodes Present: * Water Springs * Oil Patches ==Region Voucher Unlocks== Water Pump Industry Oil Well Industry C.U.S.T.O.M Engine Geothermal Industry Oil Powerplant++ Upgrade ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} de0b4eb141e83b4e7c5dd71d2a13e40d05e43029 524 523 2024-01-28T12:57:18Z Hiroteashi 379511 /* Region Voucher Unlocks */ wikitext text/x-wiki [[Category:missions]] {{missionInfoBox |name = Track & Train |number = T1 |prevMissions= * [[First Job]] * [[Validation Skip]] |nextMissions = * [[Oil Overflow Omega]] * [[Mix Oil and Water]] |biome = Savannah |money = 17000 |objectives = {{!}}Oil to Energy. Pronto!{{!}}{{!}} Produce 64 Energy at quest Oil Powerplant |partimeM = 15 }} ==Notable Region Features== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] (Quest Structure) * 6x [[Oil Well]] * 1x Worker Housing * Bank * Voucher Exchange * Accountancy Resources Nodes Present: * Water Springs * Oil Patches ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} e3ceb36c638c97795c6f39fd2174ac0003bc4918 533 524 2024-01-28T13:28:29Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] ==Info== {{missionInfoBox |name = Track & Train |number = T1 |prevMissions= * [[First Job]] * [[Validation Skip]] |nextMissions = * [[Oil Overflow Omega]] * [[Mix Oil and Water]] |biome = Savannah |money = 17000 |objectives = {{!}}Oil to Energy. Pronto!{{!}}{{!}} Produce 64 Energy at quest Oil Powerplant |partimeM = 15 }} ==Notable Region Features== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] (Quest Structure) * 6x [[Oil Well]] * 1x Worker Housing * Bank * Voucher Exchange * Accountancy Resources Nodes Present: * Water Springs * Oil Patches ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} 55c6711b88e1ce5cba16adb8181ef23d2ccdab19 Template:MissionInfoBox 10 177 504 500 2024-01-28T11:53:37Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> <includeonly> ==Info== {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> be83a8eae5a5c7620a4b481e874bfee06e30390f 508 504 2024-01-28T12:13:51Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> <includeonly> {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> 39710b4d618a06038bde623bfcd78699e5f36ea5 526 508 2024-01-28T13:06:14Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> <includeonly> {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} {{#if: {{{subtitle|}}[{{{subtitle}}}]}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> 71e1749bc86cb52690eda6126cbfafcb259d0bf5 528 526 2024-01-28T13:07:28Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> <includeonly> {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} {{#if: {{{subtitle|}}|[{{{subtitle}}}]}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> b05f050664345fcb1d58f81207a5bd9a50ded50c 532 528 2024-01-28T13:27:26Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> <includeonly> {| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |} </includeonly> b3ac361c42eb65e465a5b2421270254a4fc794a2 Category:Missions 14 11 505 451 2024-01-28T11:59:48Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil [Neon from Oil]]] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want more]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Stor]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |} eea7ab48333027a90de0940c4a30ad899291c81a 506 505 2024-01-28T12:00:09Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want more]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Stor]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |} 4b29037f7e32f02724b915987d9e9fb29c7415d8 Branch Control 0 181 507 2024-01-28T12:12:59Z Hiroteashi 379511 Created page with "[[Category:missions]] {{missionInfoBox |name = Branch Control |number = T2 |prevMissions = [[Track & Train]] |nextMissions = [[Oil Overflow]] |biome = Tundra |money = 7000 |objectives = {{!}}City Validation{{!}}{{!}} Have the quest City consume 1 Water input |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x [[Water Pump]] Resources Nodes Present: * None ==Transcript== ====Preambl..." wikitext text/x-wiki [[Category:missions]] {{missionInfoBox |name = Branch Control |number = T2 |prevMissions = [[Track & Train]] |nextMissions = [[Oil Overflow]] |biome = Tundra |money = 7000 |objectives = {{!}}City Validation{{!}}{{!}} Have the quest City consume 1 Water input |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x [[Water Pump]] Resources Nodes Present: * None ==Transcript== ====Preamble==== {{blockquote | text = Please do not laugh. Truth be told, I tried the self-checks before you were assigned to our division. I thought if I could master the control terminal then I could start fixing the colony’s economy myself. Instead I got the self-check region’s train stuck. It just goes around and around, never arriving at the station. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Thanks for clearing that branching mess. You made it look so easy. Please keep this pace, or faster. Faster is preferable. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ba41e4fea6abb006b0df41c9b24043eafe9e0642 509 507 2024-01-28T12:14:09Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] ==Info== {{missionInfoBox |name = Branch Control |number = T2 |prevMissions = [[Track & Train]] |nextMissions = [[Oil Overflow]] |biome = Tundra |money = 7000 |objectives = {{!}}City Validation{{!}}{{!}} Have the quest City consume 1 Water input |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x [[Water Pump]] Resources Nodes Present: * None ==Transcript== ====Preamble==== {{blockquote | text = Please do not laugh. Truth be told, I tried the self-checks before you were assigned to our division. I thought if I could master the control terminal then I could start fixing the colony’s economy myself. Instead I got the self-check region’s train stuck. It just goes around and around, never arriving at the station. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Thanks for clearing that branching mess. You made it look so easy. Please keep this pace, or faster. Faster is preferable. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} be85b00b69686d440b2cc75fa53c833898867547 510 509 2024-01-28T12:14:30Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki [[Category:missions]] ==Info== {{missionInfoBox |name = Branch Control |number = T2 |prevMissions = [[Track & Train]] |nextMissions = [[Industrial Chain Primer]] |biome = Tundra |money = 7000 |objectives = {{!}}City Validation{{!}}{{!}} Have the quest City consume 1 Water input |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x [[Water Pump]] Resources Nodes Present: * None ==Transcript== ====Preamble==== {{blockquote | text = Please do not laugh. Truth be told, I tried the self-checks before you were assigned to our division. I thought if I could master the control terminal then I could start fixing the colony’s economy myself. Instead I got the self-check region’s train stuck. It just goes around and around, never arriving at the station. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Thanks for clearing that branching mess. You made it look so easy. Please keep this pace, or faster. Faster is preferable. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} bd910caf841c6cc297ce8d35865792a284842bd5 Template:Signature-saito-1 10 182 511 2024-01-28T12:18:33Z Hiroteashi 379511 Created page with "Saito, Department Head of Off World Colonies Nakatani Chemicals" wikitext text/x-wiki Saito, Department Head of Off World Colonies Nakatani Chemicals 4f5aa5e61ced1eb86ccc9d1de6b466d7eccf9e3c Template:Signature-saito-2 10 183 512 2024-01-28T12:19:31Z Hiroteashi 379511 Created page with ""Saito, Building Maintenance Nakatani Chemicals"" wikitext text/x-wiki "Saito, Building Maintenance Nakatani Chemicals" d77bd0e4c3e2eb70369b8bfb1f708a3dffc9de23 513 512 2024-01-28T12:19:37Z Hiroteashi 379511 wikitext text/x-wiki Saito, Building Maintenance Nakatani Chemicals e1de47f152b866cfe9325cdec8a9060ff55d4f0f Template:Signature-nanashi 10 184 514 2024-01-28T12:20:03Z Hiroteashi 379511 Created page with "Nameless Null of Null Location Unknown" wikitext text/x-wiki Nameless Null of Null Location Unknown e0580f2545609784cac8aff7dfca2528cfdf4522 Template:Signature-jeff-1 10 185 515 2024-01-28T12:20:56Z Hiroteashi 379511 Created page with "Jeff &lt;REDACTED&gt; Nakatani Chemicals" wikitext text/x-wiki Jeff &lt;REDACTED&gt; Nakatani Chemicals 95b2c852c2d915051f98ebd2443bca7f178500f5 Template:Signature-jeff-2 10 186 516 2024-01-28T12:21:17Z Hiroteashi 379511 Created page with "Jeff Head of Liquidations and Divestments Nakatani Chemicals" wikitext text/x-wiki Jeff Head of Liquidations and Divestments Nakatani Chemicals 1fa3de058cb629af3e22c4aeeba783c908b9c465 Industrial Chain Primer 0 187 517 2024-01-28T12:26:14Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Industrial Chain Primer |number = T3 |prevMissions = [[Branch Control]] |nextMissions = [[First Job]] |biome = Tundra |money = 7000 |objectives = {{!}}Industrial Validation{{!}}{{!}}Produce 4 Steel at Quest Steel Mill |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Steel Mill]] (Quest Structure) * 1x Coal Mine * 1x Iron Mine * 1x Worker Housing Resourc..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Industrial Chain Primer |number = T3 |prevMissions = [[Branch Control]] |nextMissions = [[First Job]] |biome = Tundra |money = 7000 |objectives = {{!}}Industrial Validation{{!}}{{!}}Produce 4 Steel at Quest Steel Mill |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Steel Mill]] (Quest Structure) * 1x Coal Mine * 1x Iron Mine * 1x Worker Housing Resources Nodes Present: * none ==Transcript== ====Preamble==== {{blockquote | text = The manual introduces this self-check as “validate combinatory industrial chain handling”, but I think in plain words it means to ensure factories use the multiple input freight to create finished freight, which is pretty important. After all, the essence of any colony’s economy is combining inputs into outputs and sending those outputs as inputs to another factory. Layer that formula many tiers deep and you get yourself an economy capable of sending Rockets to space. | signature = {{signature-saito-1}} }} ====Afterword==== {{blockquote | text = Yet again you passed that test with flying colors. You are good at this. You must have studied during your trip to the colony. Either that or you are hacking the terminal to report false completion times. Please do not hack company computers. It is against departmental policy. | signature = {{signature-saito-1}} }} 44b0cece94634ec3acd6054937a4a00f293d7a61 518 517 2024-01-28T12:30:47Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Industrial Chain Primer |number = T3 |prevMissions = [[Branch Control]] |nextMissions = [[First Job]] |biome = Tundra |money = 7000 |objectives = {{!}}Industrial Validation{{!}}{{!}}Produce 4 Steel at quest Steel Mill |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Steel Mill]] (Quest Structure) * 1x Coal Mine * 1x Iron Mine * 1x Worker Housing Resources Nodes Present: * none ==Transcript== ====Preamble==== {{blockquote | text = The manual introduces this self-check as “validate combinatory industrial chain handling”, but I think in plain words it means to ensure factories use the multiple input freight to create finished freight, which is pretty important. After all, the essence of any colony’s economy is combining inputs into outputs and sending those outputs as inputs to another factory. Layer that formula many tiers deep and you get yourself an economy capable of sending Rockets to space. | signature = {{signature-saito-1}} }} ====Afterword==== {{blockquote | text = Yet again you passed that test with flying colors. You are good at this. You must have studied during your trip to the colony. Either that or you are hacking the terminal to report false completion times. Please do not hack company computers. It is against departmental policy. | signature = {{signature-saito-1}} }} 351123d0e971f37caad00355fde42ef2302ff54a First Job 0 188 519 2024-01-28T12:42:00Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = First Job |number = M1 |prevMissions = [[Industrial Chain Primer]] |nextMissions = [[Oil Overflow]] |biome = Savannah |money = 10000 |objectives = {{!}}Security by Optimization{{!}}{{!}}Export an average of 15 Water per minute at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 9x [[Water Pump]] *..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = First Job |number = M1 |prevMissions = [[Industrial Chain Primer]] |nextMissions = [[Oil Overflow]] |biome = Savannah |money = 10000 |objectives = {{!}}Security by Optimization{{!}}{{!}}Export an average of 15 Water per minute at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 9x [[Water Pump]] * 1x City * 1x Oil Well Resources Nodes Present: Note that none are usable as Industry building is disabled for this region * Iron Ore * Oil Patch * Steam Vent * Water Spring ==Transcript== ====Preamble==== {{blockquote | text = Enough learning - time to put your skills to work. Remember how I failed to pass the validation self checks? Did you know the validation logic has a remote override feature? I used that manual override to start fixing this region’s water export. Considering the situation I am sure you agree it was a noble action. The results speak for themselves. Sadly, the results speak of disastrous inefficiency. Please fix those results. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = This region was meant to supply neighbouring regions with vital water. Yet the existing railways are not effective enough to supply the required 15 water per minute. Your task is to overhaul and improve the railways to reach the required supply. Fix broken track, lengthen the trains, build new lines to unused Water Pumps. Do all this and you will establish the region as a vital source of water for neighbouring regions. | signature = {{Security by Optimization Description}} }} ====Afterword==== {{blockquote | text = We needed you! And you delivered! You’ve saved our bacon! The chat around here is you arrived on an economy class rocket. Those same rockets our grandparents traveled here on! I’ve never heard of a corporate employee from Earth traveling to colony planets by WorkRocket! You must either be incredibly poor or incredibly humble. | signature = {{Signature-nanashi}} }} facba3b967e5a395b5197faced2316fcc8c084bb 520 519 2024-01-28T12:42:15Z Hiroteashi 379511 /* Transcript */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = First Job |number = M1 |prevMissions = [[Industrial Chain Primer]] |nextMissions = [[Oil Overflow]] |biome = Savannah |money = 10000 |objectives = {{!}}Security by Optimization{{!}}{{!}}Export an average of 15 Water per minute at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 9x [[Water Pump]] * 1x City * 1x Oil Well Resources Nodes Present: Note that none are usable as Industry building is disabled for this region * Iron Ore * Oil Patch * Steam Vent * Water Spring ==Transcript== ====Preamble==== {{blockquote | text = Enough learning - time to put your skills to work. Remember how I failed to pass the validation self checks? Did you know the validation logic has a remote override feature? I used that manual override to start fixing this region’s water export. Considering the situation I am sure you agree it was a noble action. The results speak for themselves. Sadly, the results speak of disastrous inefficiency. Please fix those results. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = This region was meant to supply neighbouring regions with vital water. Yet the existing railways are not effective enough to supply the required 15 water per minute. Your task is to overhaul and improve the railways to reach the required supply. Fix broken track, lengthen the trains, build new lines to unused Water Pumps. Do all this and you will establish the region as a vital source of water for neighbouring regions. | signature = Security by Optimization Description }} ====Afterword==== {{blockquote | text = We needed you! And you delivered! You’ve saved our bacon! The chat around here is you arrived on an economy class rocket. Those same rockets our grandparents traveled here on! I’ve never heard of a corporate employee from Earth traveling to colony planets by WorkRocket! You must either be incredibly poor or incredibly humble. | signature = {{Signature-nanashi}} }} 9f245a272299722bfedf46db9ba2f7fed09b2904 521 520 2024-01-28T12:43:00Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = First Job |number = M1 |prevMissions = [[Industrial Chain Primer]] |nextMissions = [[Oil Overflow]] |biome = Savannah |money = 10000 |objectives = {{!}}Security by Optimization{{!}}{{!}}Export an average of 15 Water per minute at quest Zeppelin Dock |partimeM = 10 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 9x [[Water Pump]] * 1x City * 1x Oil Well Resources Nodes Present: Note that none are usable as Industry building is disabled for this region * Iron Ore * Oil Patch * Steam Vent * Water Spring ==Transcript== ====Preamble==== {{blockquote | text = Enough learning - time to put your skills to work. Remember how I failed to pass the validation self checks? Did you know the validation logic has a remote override feature? I used that manual override to start fixing this region’s water export. Considering the situation I am sure you agree it was a noble action. The results speak for themselves. Sadly, the results speak of disastrous inefficiency. Please fix those results. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = This region was meant to supply neighbouring regions with vital water. Yet the existing railways are not effective enough to supply the required 15 water per minute. Your task is to overhaul and improve the railways to reach the required supply. Fix broken track, lengthen the trains, build new lines to unused Water Pumps. Do all this and you will establish the region as a vital source of water for neighbouring regions. | signature = Security by Optimization }} ====Afterword==== {{blockquote | text = We needed you! And you delivered! You’ve saved our bacon! The chat around here is you arrived on an economy class rocket. Those same rockets our grandparents traveled here on! I’ve never heard of a corporate employee from Earth traveling to colony planets by WorkRocket! You must either be incredibly poor or incredibly humble. | signature = {{Signature-nanashi}} }} 29cc76842a00ea740be12faeb0e0fb3a10d62c23 Oil Overflow Omega 0 189 525 2024-01-28T13:04:03Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Oil Overflow Omega |subtitle = High Volume Oil |number = 2 Bonus |prevMissions = [[Oil Overflow]] |biome = Savannah |money = |objectives = {{!}}asdf{{!}}{{!}}Export 256 Energy at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 3x Oil Well * 2x Worker Housing * Bank * Accountan..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Oil Overflow Omega |subtitle = High Volume Oil |number = 2 Bonus |prevMissions = [[Oil Overflow]] |biome = Savannah |money = |objectives = {{!}}asdf{{!}}{{!}}Export 256 Energy at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 3x Oil Well * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = There are a couple extra regions I need your help with. No deadlines, just do them when practical, okay? | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Shore up the inner colony Energy market by establishing the Oil PowerPlants in this region. Each level 0 PowerPlant require 4 level 0 Oil Wells for full Oil supply. Upgrades or catalysts unlock vast improvements in supply and production but require extra investment. Additional Oil Wells can be built on top of any untapped Oil Spring. As you earn more cash, decide between investing into new railways, new Oil Wells, Upgrades, or Catalysts. Your only requirement is to export Energy. The optimal strategy is up to you. | signature = Stabilize the Energy Flow }} e9fe3642509b694ebe28f21f9e301230bddd9131 527 525 2024-01-28T13:06:56Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Oil Overflow Omega |subtitle = High Volume Oil |number = 2 Bonus |prevMissions = [[Oil Overflow]] |biome = Savannah |money = |objectives = {{!}}asdf{{!}}{{!}}Export 256 Energy at quest Zeppelin Dock |partimeM = 25 |partimeS = 0 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 3x Oil Well * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = There are a couple extra regions I need your help with. No deadlines, just do them when practical, okay? | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Shore up the inner colony Energy market by establishing the Oil PowerPlants in this region. Each level 0 PowerPlant require 4 level 0 Oil Wells for full Oil supply. Upgrades or catalysts unlock vast improvements in supply and production but require extra investment. Additional Oil Wells can be built on top of any untapped Oil Spring. As you earn more cash, decide between investing into new railways, new Oil Wells, Upgrades, or Catalysts. Your only requirement is to export Energy. The optimal strategy is up to you. | signature = Stabilize the Energy Flow }} f629414b35da54814f88e0071cda3fcbb0342af7 529 527 2024-01-28T13:07:41Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Oil Overflow Omega |subtitle = High Volume Oil |number = 2 Bonus |prevMissions = [[Oil Overflow]] |biome = Savannah |money = |objectives = {{!}}asdf{{!}}{{!}}Export 256 Energy at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 3x Oil Well * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = There are a couple extra regions I need your help with. No deadlines, just do them when practical, okay? | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Shore up the inner colony Energy market by establishing the Oil PowerPlants in this region. Each level 0 PowerPlant require 4 level 0 Oil Wells for full Oil supply. Upgrades or catalysts unlock vast improvements in supply and production but require extra investment. Additional Oil Wells can be built on top of any untapped Oil Spring. As you earn more cash, decide between investing into new railways, new Oil Wells, Upgrades, or Catalysts. Your only requirement is to export Energy. The optimal strategy is up to you. | signature = Stabilize the Energy Flow }} e9fe3642509b694ebe28f21f9e301230bddd9131 530 529 2024-01-28T13:08:42Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Oil Overflow Omega |subtitle = High Volume Oil |number = 2 Bonus |prevMissions = [[Oil Overflow]] |biome = Savannah |money = 11000 |objectives = {{!}}Stabilize the Energy Flow{{!}}{{!}}Export 256 Energy at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 3x Oil Well * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = There are a couple extra regions I need your help with. No deadlines, just do them when practical, okay? | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Shore up the inner colony Energy market by establishing the Oil PowerPlants in this region. Each level 0 PowerPlant require 4 level 0 Oil Wells for full Oil supply. Upgrades or catalysts unlock vast improvements in supply and production but require extra investment. Additional Oil Wells can be built on top of any untapped Oil Spring. As you earn more cash, decide between investing into new railways, new Oil Wells, Upgrades, or Catalysts. Your only requirement is to export Energy. The optimal strategy is up to you. | signature = Stabilize the Energy Flow }} fdb73e7f3c9a930d468568328f3e2eddaff99b69 Mix Oil and Water 0 190 531 2024-01-28T13:26:29Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Mix Oil and Water |number = 3 |prevMissions = * [[Oil Overflow]] |nextMissions = * [[Stretched Thin]] * [[Giant Choice]] |biome = Savannah |money = 11000 |objectives = {{!}}Water your City{{!}}{{!}}Grow quest City to 128 Population {{!}}- {{!}}Energize your City{{!}}{{!}}Grow quest City to 128 Population |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Mix Oil and Water |number = 3 |prevMissions = * [[Oil Overflow]] |nextMissions = * [[Stretched Thin]] * [[Giant Choice]] |biome = Savannah |money = 11000 |objectives = {{!}}Water your City{{!}}{{!}}Grow quest City to 128 Population {{!}}- {{!}}Energize your City{{!}}{{!}}Grow quest City to 128 Population |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x Oil Powerplant (Quest 2 Structure) * 2x Water Pump * 1x Oil Well * Bank * Accountancy * Voucher Shop Resources Nodes Present: * Water Springs * Oil Patches ==Region Unlocks== Upon Region Entry * Workhorse Engine Upon Mission Completion * Oil Powerplant Industry ==Transcript== ====Preamble==== {{blockquote | text = Our lawyers secured you a license for the generalist Workhorse Engine from Westminster Tech. You should have already received the notification. I’ll assign you a new region which might prove more of a challenge. Sorry for the distance, I’m not good with maps. Nothing hard, just keep the basics of economics in mind. Perhaps most important of all: Build multiple railways! | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Cities have needs. At each level their demands increase both in variety and volume. To start, the Water Pumps west of the city can meet the Level 0 demands. Once the city levels up, you must also supply Energy. Until then, any Energy you deliver will catalyze the city to grow faster. | signature = Water your City }} {{blockquote | text = Now that the city has leveled up it will also demand Energy. Other types of freight could meet the Level 1 demands but this region only has Energy available. NOTE: Trains will stop at any station where loaded freight is demanded or produced freight is stocked. Trains will otherwise pass through. Trains will yell why when passing a station so watch for these signs to identify problems. | signature = Energize your City }} ====Afterword==== {{blockquote | text = I forgot how to license remote monitoring so I will need to trust that you’ve learned economic optimization well enough. What I do know is the computer says you’ve completed the tasks and the region is functional. So good for you. | signature = {{Signature-saito-1}} }} 72476f53561a507a409a0ed1a76d0d5ee9a668e6 534 531 2024-01-28T13:29:31Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Mix Oil and Water |number = 3 |prevMissions = * [[Oil Overflow]] |nextMissions = * [[Stretched Thin]] * [[Giant Choice]] |biome = Savannah |money = 11000 |objectives = {{!}}Water your City{{!}}{{!}}Grow quest City to 128 Population {{!}}- {{!}}Energize your City{{!}}{{!}}Grow quest City to 128 Population |partimeM = 20 }} ==Notable Region Features== '''Industries and Structures already existing in the region:''' * 1x [[City]] (Quest 1 Structure) * 1x Oil Powerplant (Quest 2 Structure) * 2x Water Pump * 1x Oil Well * Bank * Accountancy * Voucher Shop '''Resources Nodes Present:''' * Water Springs * Oil Patches ==Region Unlocks== '''Upon Region Entry''' * Workhorse Engine '''Upon Mission Completion''' * Oil Powerplant Industry ==Transcript== ====Preamble==== {{blockquote | text = Our lawyers secured you a license for the generalist Workhorse Engine from Westminster Tech. You should have already received the notification. I’ll assign you a new region which might prove more of a challenge. Sorry for the distance, I’m not good with maps. Nothing hard, just keep the basics of economics in mind. Perhaps most important of all: Build multiple railways! | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Cities have needs. At each level their demands increase both in variety and volume. To start, the Water Pumps west of the city can meet the Level 0 demands. Once the city levels up, you must also supply Energy. Until then, any Energy you deliver will catalyze the city to grow faster. | signature = Water your City }} {{blockquote | text = Now that the city has leveled up it will also demand Energy. Other types of freight could meet the Level 1 demands but this region only has Energy available. NOTE: Trains will stop at any station where loaded freight is demanded or produced freight is stocked. Trains will otherwise pass through. Trains will yell why when passing a station so watch for these signs to identify problems. | signature = Energize your City }} ====Afterword==== {{blockquote | text = I forgot how to license remote monitoring so I will need to trust that you’ve learned economic optimization well enough. What I do know is the computer says you’ve completed the tasks and the region is functional. So good for you. | signature = {{Signature-saito-1}} }} 499050ec79a9981fb5be85bfe2527ca093757cb9 Stretched Thin 0 191 535 2024-01-28T13:45:56Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Stretched Thin |number = 4 |prevMissions = * [[Mix Oil and Water]] |nextMissions = * [[Fork in the Water]] * [[Metalsome Production]] |biome = Temperate |money = 11000 |objectives = {{!}}A Song of Iron and Coal{{!}}{{!}}Produce 8 Steel at quest Steel Mill {{!}}- {{!}}Making Apt of Appliances{{!}}{{!}}Export 24 Appliances at quest Zeppelin Dock |partimeM = 20 }} ==Notable Region Features== Industries and Structures..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Stretched Thin |number = 4 |prevMissions = * [[Mix Oil and Water]] |nextMissions = * [[Fork in the Water]] * [[Metalsome Production]] |biome = Temperate |money = 11000 |objectives = {{!}}A Song of Iron and Coal{{!}}{{!}}Produce 8 Steel at quest Steel Mill {{!}}- {{!}}Making Apt of Appliances{{!}}{{!}}Export 24 Appliances at quest Zeppelin Dock |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Steel Mill]] (Quest 1 Structure) * 1x Zeppelin Dock (Quest 2 Structure) * 1x Appliance Plant * 2x Wire Coiler * 2x Coal Mine - Level 2 * 1x Iron Mine - Level 2 * 1x Water Pump - Level 2 * 1x Oil Well * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Steam Vents ==Region Unlocks== Upon Region Entrance * Copper Mine Industry ==Transcript== ====Preamble==== {{blockquote | text = I understand that a nearby region has been messaging you? Our accounts are privileged - they shouldn’t be able to reach you. I’ll recheck the network permissions. For now, just head over to the next region and put the colonists to work. Assignable workers are key to running any higher tier industry above resource extraction. Every Plant or Factory requires workers, and you are in charge of assigning them. Often you will not have enough workers to fully staff all buildings, so it’s your job to prioritize! Copper is a required input on this next region but no one has built Copper Mines here yet. Please don’t complain, making things work is your job. Build the Copper Mines over the Copper nodes; should be simple enough for you. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Steel is a hard requirement for our Appliances production plans. For your task please fire up production at the Haganeka licensed Steel Mill by supplying Iron Ore and Coal to the Steel Mill. | signature = A Song of Iron and Coal }} {{blockquote | text = "Good. Your next task is to get good at exporting Appliances. The Appliances industry chain requires the Steel you produced in the last task plus Wire made from Copper Ore. Bring the Appliances to the Zeppelin Docks for export. Pay attention to your Worker needs. Consider growing the City to better staff your Appliances chain." | signature = Making Apt of Appliances }} ====Afterword==== {{blockquote | text = Full disclosure: I am not going to message you after every task. Rest assured my terminal tracks when you complete tasks and I’ve pre-assigned you a big backlog. Just follow your navigation computer. Right now you should have two tasks - a main task, and an optional one. If you are feeling extra diligent, go complete the optional task, but I’m not going to judge you if you don’t. | signature = {{Signature-saito-1}} }} 229a7e046402d3df048d6630b69f48c9742aa317 537 535 2024-01-28T13:58:35Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Stretched Thin |number = 4 |prevMissions = * [[Mix Oil and Water]] |nextMissions = * [[Fork in the Water]] * [[Metalsome Production]] |biome = Temperate |money = 11000 |objectives = {{!}}A Song of Iron and Coal{{!}}{{!}}Produce 8 Steel at quest Steel Mill {{!}}- {{!}}Making Apt of Appliances{{!}}{{!}}Export 24 Appliances at quest Zeppelin Dock |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Steel Mill]] (Quest 1 Structure) * 1x Zeppelin Dock (Quest 2 Structure) * 1x Appliance Plant * 2x Wire Coiler * 2x Coal Mine - Level 2 * 1x Iron Mine - Level 2 * 1x Water Pump - Level 2 * 1x Oil Well * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Steam Vents ==Region Unlocks== Upon Region Entrance * Copper Mine Industry Upon Mission Completion * Wire Coiler Industry * Wire Coiler++ Upgrade ==Transcript== ====Preamble==== {{blockquote | text = I understand that a nearby region has been messaging you? Our accounts are privileged - they shouldn’t be able to reach you. I’ll recheck the network permissions. For now, just head over to the next region and put the colonists to work. Assignable workers are key to running any higher tier industry above resource extraction. Every Plant or Factory requires workers, and you are in charge of assigning them. Often you will not have enough workers to fully staff all buildings, so it’s your job to prioritize! Copper is a required input on this next region but no one has built Copper Mines here yet. Please don’t complain, making things work is your job. Build the Copper Mines over the Copper nodes; should be simple enough for you. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Steel is a hard requirement for our Appliances production plans. For your task please fire up production at the Haganeka licensed Steel Mill by supplying Iron Ore and Coal to the Steel Mill. | signature = A Song of Iron and Coal }} {{blockquote | text = "Good. Your next task is to get good at exporting Appliances. The Appliances industry chain requires the Steel you produced in the last task plus Wire made from Copper Ore. Bring the Appliances to the Zeppelin Docks for export. Pay attention to your Worker needs. Consider growing the City to better staff your Appliances chain." | signature = Making Apt of Appliances }} ====Afterword==== {{blockquote | text = Full disclosure: I am not going to message you after every task. Rest assured my terminal tracks when you complete tasks and I’ve pre-assigned you a big backlog. Just follow your navigation computer. Right now you should have two tasks - a main task, and an optional one. If you are feeling extra diligent, go complete the optional task, but I’m not going to judge you if you don’t. | signature = {{Signature-saito-1}} }} b1453e44103ac15f330f6f699c34ce551ecfb8ec 538 537 2024-01-28T14:05:30Z Hiroteashi 379511 /* Objective Text */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Stretched Thin |number = 4 |prevMissions = * [[Mix Oil and Water]] |nextMissions = * [[Fork in the Water]] * [[Metalsome Production]] |biome = Temperate |money = 11000 |objectives = {{!}}A Song of Iron and Coal{{!}}{{!}}Produce 8 Steel at quest Steel Mill {{!}}- {{!}}Making Apt of Appliances{{!}}{{!}}Export 24 Appliances at quest Zeppelin Dock |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Steel Mill]] (Quest 1 Structure) * 1x Zeppelin Dock (Quest 2 Structure) * 1x Appliance Plant * 2x Wire Coiler * 2x Coal Mine - Level 2 * 1x Iron Mine - Level 2 * 1x Water Pump - Level 2 * 1x Oil Well * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Steam Vents ==Region Unlocks== Upon Region Entrance * Copper Mine Industry Upon Mission Completion * Wire Coiler Industry * Wire Coiler++ Upgrade ==Transcript== ====Preamble==== {{blockquote | text = I understand that a nearby region has been messaging you? Our accounts are privileged - they shouldn’t be able to reach you. I’ll recheck the network permissions. For now, just head over to the next region and put the colonists to work. Assignable workers are key to running any higher tier industry above resource extraction. Every Plant or Factory requires workers, and you are in charge of assigning them. Often you will not have enough workers to fully staff all buildings, so it’s your job to prioritize! Copper is a required input on this next region but no one has built Copper Mines here yet. Please don’t complain, making things work is your job. Build the Copper Mines over the Copper nodes; should be simple enough for you. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Steel is a hard requirement for our Appliances production plans. For your task please fire up production at the Haganeka licensed Steel Mill by supplying Iron Ore and Coal to the Steel Mill. | signature = A Song of Iron and Coal }} {{blockquote | text = Good. Your next task is to get good at exporting Appliances. The Appliances industry chain requires the Steel you produced in the last task plus Wire made from Copper Ore. Bring the Appliances to the Zeppelin Docks for export. Pay attention to your Worker needs. Consider growing the City to better staff your Appliances chain." | signature = Making Apt of Appliances }} ====Afterword==== {{blockquote | text = Full disclosure: I am not going to message you after every task. Rest assured my terminal tracks when you complete tasks and I’ve pre-assigned you a big backlog. Just follow your navigation computer. Right now you should have two tasks - a main task, and an optional one. If you are feeling extra diligent, go complete the optional task, but I’m not going to judge you if you don’t. | signature = {{Signature-saito-1}} }} f4f98454997d4abfd3d8d867549765f5b2fa7b26 Metalsome Production 0 192 536 2024-01-28T13:56:34Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Metalsome Production |number = 4 Bonus A |prevMissions = [[Stretched Thin]] |nextMissions = [[Round About and Out]] |biome = Temperate |money = 47000 |objectives = {{!}}Open the Faucet{{!}}{{!}}Export 8 Steel at quest Zeppelin Dock {{!}}- {{!}}Strengthen the Steel Flow{{!}}{{!}}Produce an average of 36 Steel per minute at quest Steel Mill |partimeM = 20 }} ==Notable Region Features== Industries and Structures alrea..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Metalsome Production |number = 4 Bonus A |prevMissions = [[Stretched Thin]] |nextMissions = [[Round About and Out]] |biome = Temperate |money = 47000 |objectives = {{!}}Open the Faucet{{!}}{{!}}Export 8 Steel at quest Zeppelin Dock {{!}}- {{!}}Strengthen the Steel Flow{{!}}{{!}}Produce an average of 36 Steel per minute at quest Steel Mill |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest 1 Structure) * 1x [[Steel Mill]] - Level 3 (Quest 2 Structure) * 1x Coal Powerplant * 6x Coal Mine * 3x Iron Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Kickstart production at the STEEL MILL. Be prepared for further extreme expansions. | signature = Open the Faucet }} {{blockquote | text = Core to this Region is the Level 3 Steel Mill. Your task is to maximize the flow of Steel for export. Setup a basic supply line, then double up the flow of inputs, exports, and catalysts. This region has the potential to export Steel like a waterfall if you feed it right. | signature = Strengthen the Steel Flow }} 130b3542bee9acdc2ccf599f9777159027651363 539 536 2024-01-28T14:12:04Z Hiroteashi 379511 /* Objective Text */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Metalsome Production |number = 4 Bonus A |prevMissions = [[Stretched Thin]] |nextMissions = [[Round About and Out]] |biome = Temperate |money = 47000 |objectives = {{!}}Open the Faucet{{!}}{{!}}Export 8 Steel at quest Zeppelin Dock {{!}}- {{!}}Strengthen the Steel Flow{{!}}{{!}}Produce an average of 36 Steel per minute at quest Steel Mill |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest 1 Structure) * 1x [[Steel Mill]] - Level 3 (Quest 2 Structure) * 1x Coal Powerplant * 6x Coal Mine * 3x Iron Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Kickstart production at the STEEL MILL. Be prepared for further extreme expansions. | signature = Open the Faucet}} {{blockquote | text = Core to this Region is the Level 3 Steel Mill. Your task is to maximize the flow of Steel for export. Setup a basic supply line, then double up the flow of inputs, exports, and catalysts. This region has the potential to export Steel like a waterfall if you feed it right. | signature = Strengthen the Steel Flow}} 3221701079b5b59325d1e9678c1c71877cfc127e MediaWiki:Pagetitle 8 193 540 2024-01-29T15:01:08Z Westgrass 40 init wikitext text/x-wiki $1 - Official {{SITENAME}} 57033220011e307a12da880f313762b28dee374e MediaWiki:Pagetitle-view-mainpage 8 194 541 2024-01-29T15:01:13Z Westgrass 40 init wikitext text/x-wiki Official {{SITENAME}} c2d59ee45ea02d10b205a5d70873df285c4a3f46 MediaWiki:Copyright 8 5 542 5 2024-01-29T15:01:20Z Westgrass 40 init wikitext text/x-wiki <img src=https://commons.wiki.gg/images/f/ff/CC-BY-SA.svg /> Page content is under the <a href=https://creativecommons.org/licenses/by-sa/4.0>Creative Commons Attribution-ShareAlike 4.0 License</a> unless otherwise noted. 5e5a9edc3c58c2677e73e18e82ecf4c649528172 Template:License 10 195 543 2024-01-29T15:01:42Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div style="border: 1px solid var(--theme-border-accent) padding: 5px; display: flex;"> {{License/{{{1|nolicense}}}}}{{#if:{{{source|}}}|<div>Source:&nbsp;{{{source|}}}</div>}} </div> </includeonly> <noinclude>{{documentation}}</noinclude> c16a822de118666bde2231909baa3239c25e16b8 544 543 2024-01-29T15:01:46Z Westgrass 40 Protected "[[Template:License]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div style="border: 1px solid var(--theme-border-accent) padding: 5px; display: flex;"> {{License/{{{1|nolicense}}}}}{{#if:{{{source|}}}|<div>Source:&nbsp;{{{source|}}}</div>}} </div> </includeonly> <noinclude>{{documentation}}</noinclude> c16a822de118666bde2231909baa3239c25e16b8 Template:License/CC-BY 10 196 545 2024-01-29T15:01:51Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY.svg|x50px|link=https://creativecommons.org/licenses/by/3.0/|CC-BY]]</div> <div>This file is under the [https://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 8069f8bb141c87273ec4101c1043b5ebda7f788f 546 545 2024-01-29T15:01:54Z Westgrass 40 Protected "[[Template:License/CC-BY]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY.svg|x50px|link=https://creativecommons.org/licenses/by/3.0/|CC-BY]]</div> <div>This file is under the [https://creativecommons.org/licenses/by/3.0/ Creative Commons Attribution 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 8069f8bb141c87273ec4101c1043b5ebda7f788f Template:License/CC-BY-NC 10 197 547 2024-01-29T15:02:01Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC.svg|x50px|link=https://creativecommons.org/licenses/by-nc/3.0/|CC-BY-NC]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-NonCommercial 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ea0a9e3d46ba08c4fc31750a92bd1000046c3b37 548 547 2024-01-29T15:02:04Z Westgrass 40 Protected "[[Template:License/CC-BY-NC]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC.svg|x50px|link=https://creativecommons.org/licenses/by-nc/3.0/|CC-BY-NC]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc/3.0/ Creative Commons Attribution-NonCommercial 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ea0a9e3d46ba08c4fc31750a92bd1000046c3b37 Template:License/CC-BY-NC-ND 10 198 549 2024-01-29T15:02:10Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nc-nd/3.0/|CC-BY-NC-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-nd/3.0/ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 34141db8517bdc0dcec13dad55e1a4b76778b038 550 549 2024-01-29T15:02:15Z Westgrass 40 Protected "[[Template:License/CC-BY-NC-ND]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nc-nd/3.0/|CC-BY-NC-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-nd/3.0/ Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 34141db8517bdc0dcec13dad55e1a4b76778b038 Template:License/CC-BY-NC-SA 10 199 551 2024-01-29T15:02:21Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-SA.svg|x50px|link=https://creativecommons.org/licenses/by-nc-sa/3.0/|CC-BY-NC-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 1b70c35de443490cae40bd3375108d2c0b931705 Template:License/CC-BY-NC-SA 10 199 552 551 2024-01-29T15:02:25Z Westgrass 40 Protected "[[Template:License/CC-BY-NC-SA]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-NC-SA.svg|x50px|link=https://creativecommons.org/licenses/by-nc-sa/3.0/|CC-BY-NC-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 1b70c35de443490cae40bd3375108d2c0b931705 Template:License/CC-BY-ND 10 200 553 2024-01-29T15:02:30Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nd/3.0/|CC-BY-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nd/3.0/ Creative Commons Attribution-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f9b4fa878dcfec21a01a7ce346c46eddf2f66f42 554 553 2024-01-29T15:02:34Z Westgrass 40 Protected "[[Template:License/CC-BY-ND]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-ND.svg|x50px|link=https://creativecommons.org/licenses/by-nd/3.0/|CC-BY-ND]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-nd/3.0/ Creative Commons Attribution-NoDerivs 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f9b4fa878dcfec21a01a7ce346c46eddf2f66f42 Template:License/CC-BY-SA 10 201 555 2024-01-29T15:02:40Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-SA.svg|x50px|link=https://creativecommons.org/licenses/by-sa/3.0/|CC-BY-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 9f75f45e0ceff1c07d2368f2ec75494cce86b567 556 555 2024-01-29T15:02:44Z Westgrass 40 Protected "[[Template:License/CC-BY-SA]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-BY-SA.svg|x50px|link=https://creativecommons.org/licenses/by-sa/3.0/|CC-BY-SA]]</div> <div>This file is under the [https://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> 9f75f45e0ceff1c07d2368f2ec75494cce86b567 Template:License/CC-PD 10 202 557 2024-01-29T15:02:50Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-PD.svg|x50px|link=|Public Domain]]</div> <div>This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ffd7439180f2c581fc09906bc9f1714c0952a864 558 557 2024-01-29T15:02:55Z Westgrass 40 Protected "[[Template:License/CC-PD]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-PD.svg|x50px|link=|Public Domain]]</div> <div>This file has been released into the public domain by the copyright holder, its copyright has expired, or it is ineligible for copyright. This applies worldwide.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> ffd7439180f2c581fc09906bc9f1714c0952a864 Template:License/CC-SRR 10 203 559 2024-01-29T15:03:01Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-SRR.svg|link=|CC-Some Rights Reserved]]</div> <div>This file is under the Creative Commons Some Rights Reserved License.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> cd49dbdaf1d4290117a115931288884ac9b62a46 560 559 2024-01-29T15:03:15Z Westgrass 40 Protected "[[Template:License/CC-SRR]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-SRR.svg|link=|CC-Some Rights Reserved]]</div> <div>This file is under the Creative Commons Some Rights Reserved License.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> cd49dbdaf1d4290117a115931288884ac9b62a46 Template:License/CC0 10 204 561 2024-01-29T15:03:20Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:CC-0.svg|x50px|link=https://creativecommons.org/publicdomain/zero/1.0/|CC0]]</div> <div>This file is under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f3fd76302622675395a422cf984a2f7ea93d151f 562 561 2024-01-29T15:03:26Z Westgrass 40 Protected "[[Template:License/CC0]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:CC-0.svg|x50px|link=https://creativecommons.org/publicdomain/zero/1.0/|CC0]]</div> <div>This file is under the [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0 License].</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f3fd76302622675395a422cf984a2f7ea93d151f Template:License/Fairuse 10 205 563 2024-01-29T15:03:32Z Westgrass 40 init wikitext text/x-wiki #REDIRECT [[Template:License/fairuse]] a42c85d61fbfdfbdfdaf2ff6f9b80994b2f6ddb3 564 563 2024-01-29T15:03:36Z Westgrass 40 Protected "[[Template:License/Fairuse]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki #REDIRECT [[Template:License/fairuse]] a42c85d61fbfdfbdfdaf2ff6f9b80994b2f6ddb3 Template:License/Minakata Dynamics 10 206 565 2024-01-29T15:03:42Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is owned by Minakata Dynamics and/or its licensors, and is licensed under the Minakata Dynamics [[MediaWiki:Terms of Use|Terms of Use]].<br/> All trademarks and registered trademarks present in the file are proprietary to Minakata Dynamics and/or its licensors. </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f0f084c6f2211b2ce62b37b3d289fff6bfffbcad 566 565 2024-01-29T15:03:46Z Westgrass 40 Protected "[[Template:License/Minakata Dynamics]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is owned by Minakata Dynamics and/or its licensors, and is licensed under the Minakata Dynamics [[MediaWiki:Terms of Use|Terms of Use]].<br/> All trademarks and registered trademarks present in the file are proprietary to Minakata Dynamics and/or its licensors. </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> f0f084c6f2211b2ce62b37b3d289fff6bfffbcad Template:License/doc 10 207 567 2024-01-29T15:03:52Z Westgrass 40 init wikitext text/x-wiki This template is to be used in a Licensing heading on file pages to denote the file's license. '''All acceptable first parameter examples:''' <nowiki>{{License|Minakata Dynamics}}</nowiki> {{License|Minakata Dynamics}} <nowiki>{{License|Fairuse}}</nowiki> {{License|Fairuse}} <nowiki>{{License|CC0}}</nowiki> {{License|CC0}} <nowiki>{{License|CC-BY-NC-ND}}</nowiki> {{License|CC-BY-NC-ND}} <nowiki>{{License|CC-BY-NC-SA}}</nowiki> {{License|CC-BY-NC-SA}} <nowiki>{{License|CC-BY-NC}}</nowiki> {{License|CC-BY-NC}} <nowiki>{{License|CC-BY-ND}}</nowiki> {{License|CC-BY-ND}} <nowiki>{{License|CC-BY-SA}}</nowiki> {{License|CC-BY-SA}} <nowiki>{{License|CC-BY}}</nowiki> {{License|CC-BY}} <nowiki>{{License|CC-PD}}</nowiki> {{License|CC-PD}} <nowiki>{{License|CC-SRR}}</nowiki> {{License|CC-SRR}} '''Providing no parameter (or invalid one) defaults to the nolicense notice:''' <nowiki>{{License}}</nowiki>{{License}} '''Source parameter (optional):''' The source parameter accepts a url to the source where the file came from if necessary for attribution. Example: <nowiki>{{License|Minakata Dynamics|source=https://wiki.gg/}}</nowiki> {{License|Minakata Dynamics|source=https://wiki.gg/}} <includeonly> [[Category:License templates]] </includeonly> <noinclude> [[Category:Template documentation]] </noinclude> a4948be27f42ed92a270bdb6101f40734da8abb1 568 567 2024-01-29T15:03:56Z Westgrass 40 Protected "[[Template:License/doc]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki This template is to be used in a Licensing heading on file pages to denote the file's license. '''All acceptable first parameter examples:''' <nowiki>{{License|Minakata Dynamics}}</nowiki> {{License|Minakata Dynamics}} <nowiki>{{License|Fairuse}}</nowiki> {{License|Fairuse}} <nowiki>{{License|CC0}}</nowiki> {{License|CC0}} <nowiki>{{License|CC-BY-NC-ND}}</nowiki> {{License|CC-BY-NC-ND}} <nowiki>{{License|CC-BY-NC-SA}}</nowiki> {{License|CC-BY-NC-SA}} <nowiki>{{License|CC-BY-NC}}</nowiki> {{License|CC-BY-NC}} <nowiki>{{License|CC-BY-ND}}</nowiki> {{License|CC-BY-ND}} <nowiki>{{License|CC-BY-SA}}</nowiki> {{License|CC-BY-SA}} <nowiki>{{License|CC-BY}}</nowiki> {{License|CC-BY}} <nowiki>{{License|CC-PD}}</nowiki> {{License|CC-PD}} <nowiki>{{License|CC-SRR}}</nowiki> {{License|CC-SRR}} '''Providing no parameter (or invalid one) defaults to the nolicense notice:''' <nowiki>{{License}}</nowiki>{{License}} '''Source parameter (optional):''' The source parameter accepts a url to the source where the file came from if necessary for attribution. Example: <nowiki>{{License|Minakata Dynamics|source=https://wiki.gg/}}</nowiki> {{License|Minakata Dynamics|source=https://wiki.gg/}} <includeonly> [[Category:License templates]] </includeonly> <noinclude> [[Category:Template documentation]] </noinclude> a4948be27f42ed92a270bdb6101f40734da8abb1 Template:License/fairuse 10 208 569 2024-01-29T15:04:12Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is copyrighted. It will be used in a way that qualifies as fair use under [https://en.wikipedia.org/wiki/Fair_use#Fair_use_under_United_States_law US copyright law].<br/> </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> a65683c6dedb8a7e7a7cace39dfa957345d1325c 570 569 2024-01-29T15:04:15Z Westgrass 40 Protected "[[Template:License/fairuse]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:IN COPYRIGHT.svg|50px|link=https://rightsstatements.org/page/InC/1.0/?language=en|IN COPYRIGHT]]</div> <div>This file is copyrighted. It will be used in a way that qualifies as fair use under [https://en.wikipedia.org/wiki/Fair_use#Fair_use_under_United_States_law US copyright law].<br/> </div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> a65683c6dedb8a7e7a7cace39dfa957345d1325c Template:License/nolicense 10 209 571 2024-01-29T15:04:21Z Westgrass 40 init wikitext text/x-wiki <includeonly> <div>[[File:Warning-red.svg|50px|link=|No License has been selected.]]</div> <div>Please select the proper License for this file by adding the proper parameter to <nowiki>{{License}}</nowiki>. See [[Template:License]] for details.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> e5aed440bcde4a2d7633edef8640c90228fc24a6 572 571 2024-01-29T15:04:26Z Westgrass 40 Protected "[[Template:License/nolicense]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki <includeonly> <div>[[File:Warning-red.svg|50px|link=|No License has been selected.]]</div> <div>Please select the proper License for this file by adding the proper parameter to <nowiki>{{License}}</nowiki>. See [[Template:License]] for details.</div> </includeonly> <noinclude>{{documentation|Template:License/doc}}</noinclude> e5aed440bcde4a2d7633edef8640c90228fc24a6 Category:Templates 14 61 573 458 2024-01-29T15:04:32Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Category:Railgrade Wiki 14 210 574 2024-01-29T15:04:37Z Westgrass 40 init wikitext text/x-wiki This is the root category for everything on The {{SITENAME}}. eaccd6ba79f8609ec20cb92a31a9468a40c7bfae MediaWiki:Mainpage 8 211 575 2024-01-29T15:04:44Z Westgrass 40 init wikitext text/x-wiki {{SITENAME}} 3879910e8b355a24373fd09ccc909145b2639907 Railgrade Wiki 0 1 576 209 2024-01-29T15:04:50Z Westgrass 40 Westgrass moved page [[Main Page]] to [[Railgrade Wiki]] wikitext text/x-wiki == Welcome to the Official RAILGRADE Wiki == === About RAILGRADE === RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! === Features === * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! === Topics === * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] de8c9e3f7f9666230613501e21022d50f4037e7a 578 576 2024-01-29T15:04:55Z Westgrass 40 Protected "[[Railgrade Wiki]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki == Welcome to the Official RAILGRADE Wiki == === About RAILGRADE === RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! === Features === * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! === Topics === * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] de8c9e3f7f9666230613501e21022d50f4037e7a Main Page 0 212 577 2024-01-29T15:04:50Z Westgrass 40 Westgrass moved page [[Main Page]] to [[Railgrade Wiki]] wikitext text/x-wiki #REDIRECT [[Railgrade Wiki]] 6b05f533ce5caa347ca109db727d84a3a3c71f38 MediaWiki:Common.js 8 213 579 2024-01-29T15:05:01Z Westgrass 40 init javascript text/javascript mw.loader.getScript( 'https://commons.wiki.gg/index.php?title=MediaWiki:Common-base.js&action=raw&ctype=text/javascript' ).then(function(){ //////////////////////////////////////////////////////////////////////////////// $('<div class="menu-toggle"/>').insertAfter($('#p-logo')).on("click", function(event){ event.stopPropagation(); $(this).toggleClass('expanded'); }); //////////////////////////////////////////////////////////////////////////////// /*end of mw.loader.getScript().then callback*/ }); 60b6d7c2f3fbd37763cf37577fcf53e36c6cb15d Template:InfoboxGame 10 6 580 6 2024-01-29T15:05:06Z Westgrass 40 init wikitext text/x-wiki <includeonly><infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="developer"> <label>Developer</label> </data> <data source="publisher"> <label>Publisher</label> </data> <data source="release"> <label>Release date</label> </data> <data source="platform"> <label>Platform</label> </data> </infobox></includeonly><noinclude> Usage:<pre> {{InfoboxGame |title= |image= |caption= |developer= |publisher= |release= |platform= }} </pre> [[Category:Infobox templates]]</noinclude> ce818e81bba1bab2e1192621b9a8fd4fc7ebe332 Template:Stub 10 214 581 2024-01-29T15:05:18Z Westgrass 40 init wikitext text/x-wiki <div class="hat-note" style="border: 1px solid #ff6666;padding: 0.5em;margin-bottom:1em">[[File:Edit-clear.svg|24px|link=]] This content is a [[:Category:Stubs|stub]]. You can help by [{{fullurl:{{FULLPAGENAME}}|action=edit}} expanding it]. </div> <includeonly>{{{category|[[Category:Stubs]]}}}</includeonly><noinclude> == Usage == <nowiki>{{stub}}</nowiki> </noinclude> 0fb3c45d8b6db670390d02f9e2689d7a93caa423 Category:Stubs 14 215 582 2024-01-29T15:05:26Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 File:Site-favicon.ico 6 216 583 2024-01-29T15:05:32Z Westgrass 40 init wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b 584 583 2024-01-29T15:05:37Z Westgrass 40 Protected "[[File:Site-favicon.ico]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b File:Site-logo.png 6 217 585 2024-01-29T15:05:41Z Westgrass 40 init wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b 586 585 2024-01-29T15:05:46Z Westgrass 40 Protected "[[File:Site-logo.png]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b File:Site-background.jpg 6 218 587 2024-01-29T15:05:51Z Westgrass 40 init wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b 588 587 2024-01-29T15:05:55Z Westgrass 40 Protected "[[File:Site-background.jpg]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b File:Keyart.jpg 6 219 589 2024-01-29T15:06:00Z Westgrass 40 init wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b Category:Files 14 220 590 2024-01-29T15:06:15Z Westgrass 40 init wikitext text/x-wiki [[Category:{{SITENAME}}]] dd8aaa34cf600c1567d240a3f4bc615164a11592 Railgrade 0 221 591 2024-01-29T15:06:20Z Westgrass 40 init wikitext text/x-wiki {{stub}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Minakata Dynamics |publisher=Minakata Dynamics, Gamera Games |release= |platform=PC }} '''Railgrade''' is a game. [[Category:Railgrade| ]] b453e973d1e47d5f24b3bf2b9b6819bc0bbe96c2 Category:Railgrade 14 222 592 2024-01-29T15:06:26Z Westgrass 40 init wikitext text/x-wiki [[category:{{SITENAME}}]] 442656d773d97baea47f62cc8dcee3fda0f995ed Category:Screenshots 14 223 593 2024-01-29T15:06:32Z Westgrass 40 init wikitext text/x-wiki [[Category:Images]] 8820b63e35aedd9d2666fe40b965d4e91ce0a106 MediaWiki:Gadgets-definition 8 224 594 2024-01-29T15:06:37Z Westgrass 40 init wikitext text/x-wiki == default-gadgets == * previewTab[ResourceLoader|default|dependencies=mediawiki.api|type=general]|previewTab.js|previewTab.css * linkPurge[ResourceLoader|default|type=general]|linkPurge.js * UserProfile[ResourceLoader|default|dependencies=mediawiki.api|rights=edit]|UserProfile.js|UserProfile.css * multiupload[ResourceLoader|default]|multiupload.js 3186863480deb150cde83ce3d2d146cd5aa3b2bb MediaWiki:Gadget-section-default-gadgets 8 225 595 2024-01-29T15:06:41Z Westgrass 40 init wikitext text/x-wiki Default Gadgets 6fc7468a16c085a721b999b2fb8835a90bdc4b5f MediaWiki:Gadget-previewTab 8 226 596 2024-01-29T15:06:44Z Westgrass 40 init wikitext text/x-wiki Preview Tab: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Re-adds the Wikitext/Preview/Changes tabs to editor that were removed in the MediaWiki 1.31 upgrade. 74a761f21ba4349a91d6e2cc5b66a80dec16cd93 MediaWiki:Gadget-previewTab.js 8 227 597 2024-01-29T15:06:48Z Westgrass 40 init javascript text/javascript /* v1.2, By Westgrass https://terraria.wiki.gg/User:Westgrass */ $(document).ready(function (){ if(((mw.config.get('wgAction') != 'edit')&&(mw.config.get('wgAction') != 'submit'))||(mw.config.get('wgPageContentModel')) != 'wikitext'){ return; } //localization. var $text_wikitext = { 'en': 'Wikitext', 'de': 'Wikitext', 'fr': 'Wikitexte', 'pt': 'Wikitexto', 'pt-br': 'Wikitexto', 'zh': '维基文本', 'zh-cn': '维基文本' } var $text_preview = { 'en': 'Preview', 'de': 'Vorschau', 'fr': 'Prévisualiser', 'pt': 'Antever', 'pt-br': 'Pré-visualizar', 'zh': '预览', 'zh-cn': '预览' } var $text_changes = { 'en': 'Changes', 'de': 'Änderungen', 'fr': 'Modifications', 'pt': 'Alteraçãos', 'pt-br': 'Alterações', 'zh': '差异', 'zh-cn': '差异' } var $text_nochanges = { 'en': 'No change', 'de': 'Keine Änderungen', 'fr': 'Aucune modification', 'pt': 'Nenhuma alteração', 'pt-br': 'Nenhuma alteração', 'zh': '无差异', 'zh-cn': '无差异' } $('#editform').before('<div id="wiki-editor-tabs"><div class="wikitext">'+($text_wikitext[mw.config.get( 'wgUserLanguage' )]||'Wikitext')+'</div><div class="preview">'+($text_preview[mw.config.get( 'wgUserLanguage' )]||'Preview')+'</div><div class="changes">'+($text_changes[mw.config.get( 'wgUserLanguage' )]||'Changes')+'</div></div>'); var $wikitext_button = $('#wiki-editor-tabs .wikitext').addClass('current'); var $preview_button = $('#wiki-editor-tabs .preview'); var $changes_button = $('#wiki-editor-tabs .changes'); $('#editform').before('<div id="wiki-editor-tabs-preview"><div class="sk-fading-circle"><div class="sk-circle1 sk-circle"></div><div class="sk-circle2 sk-circle"></div><div class="sk-circle3 sk-circle"></div><div class="sk-circle4 sk-circle"></div><div class="sk-circle5 sk-circle"></div><div class="sk-circle6 sk-circle"></div><div class="sk-circle7 sk-circle"></div><div class="sk-circle8 sk-circle"></div><div class="sk-circle9 sk-circle"></div><div class="sk-circle10 sk-circle"></div><div class="sk-circle11 sk-circle"></div><div class="sk-circle12 sk-circle"></div></div><div class="contents"></div></div><div id="wiki-editor-tabs-changes"><div class="sk-fading-circle"><div class="sk-circle1 sk-circle"></div><div class="sk-circle2 sk-circle"></div><div class="sk-circle3 sk-circle"></div><div class="sk-circle4 sk-circle"></div><div class="sk-circle5 sk-circle"></div><div class="sk-circle6 sk-circle"></div><div class="sk-circle7 sk-circle"></div><div class="sk-circle8 sk-circle"></div><div class="sk-circle9 sk-circle"></div><div class="sk-circle10 sk-circle"></div><div class="sk-circle11 sk-circle"></div><div class="sk-circle12 sk-circle"></div></div><div class="contents"></div></div>'); var $preview_loading = $('#wiki-editor-tabs-preview > div.sk-fading-circle').first(); var $preview_content = $('#wiki-editor-tabs-preview > div.contents').first(); var $changes_loading = $('#wiki-editor-tabs-changes > div.sk-fading-circle').first(); var $changes_content = $('#wiki-editor-tabs-changes > div.contents').first(); var $preview_api = new mediaWiki.Api(); var $changes_api = new mediaWiki.Api(); mw.loader.using( 'mediawiki.diff.styles' ); $wikitext_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $('.wikiEditor-ui').css('display', 'block'); $('#wiki-editor-tabs-preview').css('display', 'none'); $('#wiki-editor-tabs-changes').css('display', 'none'); $wikitext_button.addClass('current'); $preview_button.removeClass('current'); $changes_button.removeClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty(); }); $preview_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $wikitext_button.removeClass('current'); $preview_button.addClass('current'); $changes_button.removeClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty(); var $editor = $('.wikiEditor-ui'); $editor.css('display', 'none'); $('#wiki-editor-tabs-preview').css('display', 'block').outerHeight($editor.outerHeight()); $('#wiki-editor-tabs-changes').css('display', 'none'); var wikitext = $('#wpTextbox1').val(); $preview_api.post( { formatversion: 2, action: 'parse', title: mw.config.get( 'wgPageName' ), text: wikitext, pst: '', prop: 'text|modules|jsconfigvars', preview: true, disableeditsection: true, useskin: mw.config.get( 'skin' ), uselang: mw.config.get( 'wgUserLanguage' ) } ).done( function ( data ) { var loadmodules, $content; if ( !data.parse || !data.parse.text ) { return; } if ( data.parse.jsconfigvars ) { mw.config.set( data.parse.jsconfigvars ); } loadmodules = data.parse.modules.concat( data.parse.modulescripts, data.parse.modulestyles ); mw.loader.load( loadmodules ); $content = $preview_content .detach() .html( data.parse.text ); $content.append( '<div class="visualClear"></div>' ) .find( 'a:not([href^="#"])' ) .click( false ); $preview_loading.css('display', 'none'); $('#wiki-editor-tabs-preview').append( $content ); } ); }); $changes_button.on('click', function(){ $preview_api.abort(); $changes_api.abort(); $wikitext_button.removeClass('current'); $preview_button.removeClass('current'); $changes_button.addClass('current'); $preview_loading.css('display', 'block'); $preview_content.empty(); $changes_loading.css('display', 'block'); $changes_content.empty().html( '<table class="diff"><col class="diff-marker"/><col class="diff-content"/>' + '<col class="diff-marker"/><col class="diff-content"/><tbody/></table>' ); var $editor = $('.wikiEditor-ui'); $editor.css('display', 'none'); $('#wiki-editor-tabs-preview').css('display', 'none'); $('#wiki-editor-tabs-changes').css('display', 'block').outerHeight($editor.outerHeight()); mw.loader.using( 'mediawiki.diff.styles' ); var wikitext = $('#wpTextbox1').val(); var section = $( '[name="wpSection"]' ).val(); var postdata = { formatversion: 2, action: 'query', prop: 'revisions', titles: mw.config.get( 'wgPageName' ), rvdifftotext: wikitext, rvdifftotextpst: true, rvprop: '', rvsection: section === '' ? undefined : section }; $changes_api.post(postdata).done( function ( postResult ) { var diff; try { diff = postResult.query.pages[ 0 ] .revisions[ 0 ].diff.body; if (diff){ $changes_content.find( 'table.diff tbody' ) .html( diff ) .append( '<div class="visualClear"></div>' ); } else{ $changes_content.html( '<p style="text-align:center; font-style: italic;" class="note-text">('+($text_nochanges[mw.config.get( 'wgUserLanguage' )]||'No change')+')</p>' ) .append( '<div class="visualClear"></div>' ); } $changes_loading.css('display', 'none'); } catch ( e ) { // "data.blah is undefined" error, ignore } } ); }); }); d501df8885ff0d8741111b92c4090cd019961e93 MediaWiki:Gadget-previewTab.css 8 228 598 2024-01-29T15:06:52Z Westgrass 40 init css text/css #wiki-editor-tabs{ z-index: 10; position: relative; clear: both; } #wiki-editor-tabs div{ background: var(--theme-page-background-color--secondary); border: 1px solid var(--theme-border-color); padding: 0.5em 1em; display: inline-block; cursor: pointer; margin-right: -1px; margin-bottom: -1px; color: var(--theme-link-color); } #wiki-editor-tabs div.current{ background: var(--theme-page-background-color); border-bottom-color: var(--theme-page-background-color); color: var(--theme-page-text-color); } #wiki-editor-tabs-preview,#wiki-editor-tabs-changes{ border: 1px solid var(--theme-border-color); padding: 1em; z-index: 1; overflow: auto; display: none; } #editform{ z-index: 1; } /* from SpinKit: http://tobiasahlin.com/spinkit/ */ .sk-fading-circle { margin: 100px auto; width: 40px; height: 40px; position: relative; } .sk-fading-circle .sk-circle { width: 100%; height: 100%; position: absolute; left: 0; top: 0; } .sk-fading-circle .sk-circle:before { content: ''; display: block; margin: 0 auto; width: 15%; height: 15%; background-color: var(--theme-page-text-color); border-radius: 100%; -webkit-animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; animation: sk-circleFadeDelay 1.2s infinite ease-in-out both; } .sk-fading-circle .sk-circle2 { -webkit-transform: rotate(30deg); -ms-transform: rotate(30deg); transform: rotate(30deg); } .sk-fading-circle .sk-circle3 { -webkit-transform: rotate(60deg); -ms-transform: rotate(60deg); transform: rotate(60deg); } .sk-fading-circle .sk-circle4 { -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg); transform: rotate(90deg); } .sk-fading-circle .sk-circle5 { -webkit-transform: rotate(120deg); -ms-transform: rotate(120deg); transform: rotate(120deg); } .sk-fading-circle .sk-circle6 { -webkit-transform: rotate(150deg); -ms-transform: rotate(150deg); transform: rotate(150deg); } .sk-fading-circle .sk-circle7 { -webkit-transform: rotate(180deg); -ms-transform: rotate(180deg); transform: rotate(180deg); } .sk-fading-circle .sk-circle8 { -webkit-transform: rotate(210deg); -ms-transform: rotate(210deg); transform: rotate(210deg); } .sk-fading-circle .sk-circle9 { -webkit-transform: rotate(240deg); -ms-transform: rotate(240deg); transform: rotate(240deg); } .sk-fading-circle .sk-circle10 { -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); } .sk-fading-circle .sk-circle11 { -webkit-transform: rotate(300deg); -ms-transform: rotate(300deg); transform: rotate(300deg); } .sk-fading-circle .sk-circle12 { -webkit-transform: rotate(330deg); -ms-transform: rotate(330deg); transform: rotate(330deg); } .sk-fading-circle .sk-circle2:before { -webkit-animation-delay: -1.1s; animation-delay: -1.1s; } .sk-fading-circle .sk-circle3:before { -webkit-animation-delay: -1s; animation-delay: -1s; } .sk-fading-circle .sk-circle4:before { -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .sk-fading-circle .sk-circle5:before { -webkit-animation-delay: -0.8s; animation-delay: -0.8s; } .sk-fading-circle .sk-circle6:before { -webkit-animation-delay: -0.7s; animation-delay: -0.7s; } .sk-fading-circle .sk-circle7:before { -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .sk-fading-circle .sk-circle8:before { -webkit-animation-delay: -0.5s; animation-delay: -0.5s; } .sk-fading-circle .sk-circle9:before { -webkit-animation-delay: -0.4s; animation-delay: -0.4s; } .sk-fading-circle .sk-circle10:before { -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .sk-fading-circle .sk-circle11:before { -webkit-animation-delay: -0.2s; animation-delay: -0.2s; } .sk-fading-circle .sk-circle12:before { -webkit-animation-delay: -0.1s; animation-delay: -0.1s; } @-webkit-keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } @keyframes sk-circleFadeDelay { 0%, 39%, 100% { opacity: 0; } 40% { opacity: 1; } } 311c19f960153e080b7e390acc9dc9a5d16d6a9e MediaWiki:Gadget-linkPurge 8 229 599 2024-01-29T15:06:57Z Westgrass 40 init wikitext text/x-wiki Purge Link: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Adds a "Purge" link to the top of each page. When clicked, the server cache of the current page is cleared and refreshed. 4a25a321a8f17160dc4dafee99f56d7ba3ae4333 MediaWiki:Gadget-linkPurge.js 8 230 600 2024-01-29T15:07:01Z Westgrass 40 init javascript text/javascript var l10n = (function(){ var $text = { 'buttonlabel': { 'en': 'Purge', 'de': 'Aktualisieren', 'fr': 'Purger', 'ru': 'Обновить', 'pt': 'Actualizar', 'pt-br': 'Actualizar', 'zh': '刷新缓存' }, 'hovertext': { 'en': 'Purge the server cache for this page', 'de': 'Den Server-Cache dieser Seite löschen', 'fr': 'Purge le cache du serveur de cette page', 'ru': 'Очистить кэш сервера на этой странице', 'pt': 'Limpe o cache do servidor para esta página', 'pt-br': 'Limpe o cache do servidor para esta página', 'zh': '刷新此页面的服务器缓存' } } var $lang = mw.config.get( 'wgUserLanguage' ) || 'en'; return function(key){ return $text[key] && ($text[key][$lang] || $text[key]['en']) || ''; } })(); $(document).ready(function(){ var url = new URL(window.location.href); url.searchParams.set('action', 'purge'); mw.util.addPortletLink('p-cactions', url.href, l10n('buttonlabel'), 'ca-gadget-purgecache', l10n('hovertext'), '1'); }); 0f4d94767dd91f6b4a1a4c7f532b65748091aed7 MediaWiki:Gadget-UserProfile 8 231 601 2024-01-29T15:07:05Z Westgrass 40 init wikitext text/x-wiki Preview Tab: <abbr title="This gadget is enabled by default."><i>Default gadget</i></abbr>. Add some function to user profile page. 2fb4dab0a4aba6ee1256cb3dda11643f892e18c0 MediaWiki:Gadget-UserProfile.js 8 232 602 2024-01-29T15:07:10Z Westgrass 40 init javascript text/javascript mw.loader.using( [ 'mediawiki.api' ] ).done( function () { var username = mw.config.get('wgRelevantUserName'); var lang = mw.language.bcp47(mw.config.get('wgUserLanguage')); if ( username ) { const allUsergroupsOrdered = []; const dateOptions = { year: "numeric", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit", timeZone: "UTC", timeZoneName: "short" }; var api = new mw.Api(); api.get( { action: 'query', list: 'users', ususers: username, usprop: [ 'groups', 'editcount', 'registration', 'blockinfo' ] } ).done( function(data) { var user = data.query.users[0]; user.groups.splice(user.groups.indexOf('*'), 1); var groupList = user.groups.map( function(group) { var grouppage = '{{MediaWiki:grouppage-'+group+'}}'; return [ '{{#ifexist: '+grouppage+' | [['+grouppage+'|{{int:group-'+group+'}}]] | {{int:group-'+group+'}} }}', '{{#ifexist: '+grouppage+' | [['+grouppage+'|{{int:group-'+group+'-member|'+username+'}}]] | {{int:group-'+group+'-member|'+username+'}} }}' ]; } ).reduce( function(prev, cur) { prev[0].push(cur[0]); prev[1].push(cur[1]); return prev; }, [[], []] ); var text = '<div class="horse-userprofile-info">'; text += '\n\n<span>{{int:prefs-memberingroups|'+user.groups.length+'|'+username+'}}</span>\t<span>{{int:prefs-memberingroups-type|'+mw.language.listToText(groupList[0])+'|'+mw.language.listToText(groupList[1])+'}}</span>'; text += '\n\n<span>{{int:prefs-edits}}</span>\t<span>[[Special:Contribs/'+username+'|'+mw.language.convertNumber(user.editcount)+']]</span>'; text += '\n\n<span>{{int:prefs-registration}}</span>\t<span>'+mw.language.convertNumber(new Date(user.registration).toLocaleString(lang, dateOptions))+'</span>'; text += '\n\n</div>'; if ( user.blockid && mw.config.get('wgArticleId') !== 0 ) { var blockDate = new Date(user.blockedtimestamp); var blockexpiry = '{{int:infiniteblock}}'; if ( !['infinite', 'indefinite', 'infinity', 'never'].includes(user.blockexpiry) ) { var expiry = new Date(user.blockexpiry.replace( /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2,3})/, '$1-$2-$3T$4:$5:$6Z' )); var duration = expiry - blockDate; var blockDuration = []; var factor = 1000; if ( duration % factor === 0 ) blockDuration = ['duration-seconds', Math.floor(duration / factor)]; factor *= 60; if ( duration % factor === 0 ) blockDuration = ['duration-minutes', Math.floor(duration / factor)]; factor *= 60; if ( duration % factor === 0 ) blockDuration = ['duration-hours', Math.floor(duration / factor)]; factor *= 24; if ( duration % factor === 0 ) blockDuration = ['duration-days', Math.floor(duration / factor)]; if ( duration % (factor*7) === 0 ) blockDuration = ['duration-weeks', Math.floor(duration / (factor*7))]; if ( duration % (factor*30) === 0 ) blockDuration = ['months', Math.floor(duration / (factor*30))]; factor *= 365; if ( duration % factor === 0 ) blockDuration = ['duration-years', Math.floor(duration / factor)]; if ( duration % (factor*10) === 0 ) blockDuration = ['duration-decades', Math.floor(duration / (factor*10))]; if ( duration % (factor*100) === 0 ) blockDuration = ['duration-centuries', Math.floor(duration / (factor*100))]; if ( duration % (factor*1000) === 0 ) blockDuration = ['duration-millennia', Math.floor(duration / (factor*1000))]; if ( blockDuration.length < 2 || blockDuration[1] > 1000 ) blockexpiry = mw.language.convertNumber(expiry.toLocaleString(lang, dateOptions)); else blockexpiry = '{{int:'+blockDuration.join('|')+'}}'; } text += '<div class="horse-userprofile-block mw-warning-with-logexcerpt"><div>\n{{int:blocked-notice-logextract|'+username+'}}\n'; text += '* '+mw.language.convertNumber(blockDate.toLocaleString(lang, dateOptions))+' {{int:logentry-block-block|[[User:'+user.blockedby+'|'+user.blockedby+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+user.blockedby+'|{{int:talkpagelinktext}}]]</span> <span>[[Special:Contribs/'+user.blockedby+'|{{int:contribslink}}]]</span></span>|'+user.blockedby+'|[[User:'+username+'|'+username+']] <span class="mw-usertoollinks mw-changeslist-links"><span>[[User talk:'+username+'|{{int:talkpagelinktext}}]]</span> <span>[[Special:Contribs/'+username+'|{{int:contribslink}}]]</span></span>|'+username+'|'+blockexpiry+'|}} <span class="comment">{{int:parentheses|'+user.blockreason+'}}</span></div></div>'; } api.parse( text, { disablelimitreport: true, wrapoutputclass: 'horse-userprofile mw-message-box mw-content-'+$('#contentSub').attr('dir'), uselang: mw.config.get('wgUserLanguage') } ).done( function(parsedText) { $('#contentSub').append(parsedText.replace( /\u29FCgroup-([^\u29FC\u29FD]+?)(?:-member)?\u29FD/g, '$1' )); } ); } ); } } ); ce7d71d15f0855c5ffc2a2aead36e99da7cd64e2 MediaWiki:Gadget-UserProfile.css 8 233 603 2024-01-29T15:07:16Z Westgrass 40 init css text/css #contentSub > * + .horse-userprofile { margin-top: 1em; } .horse-userprofile { font-size: var(--font-size); color: var(--theme-text-color); padding: 6px 12px; } .horse-userprofile-info span:first-of-type { font-weight: bold; } 57f9280a5451e127405bcc5b42272996a2bf94b8 MediaWiki:Gadget-multiupload 8 234 604 2024-01-29T15:07:21Z Westgrass 40 init wikitext text/x-wiki Allows multiple file upload through [[Special:Upload]] c18d8757cec3234759babf2850b02905a6a4bdaa MediaWiki:Gadget-multiupload.js 8 235 605 2024-01-29T15:07:25Z Westgrass 40 init javascript text/javascript mw.loader.using(['site']).then(function() { i18n = { multiupload: "Upload multiple files:", yes: "Yes", no: "No", sourcefiles: "Source files:", uploadfiles: "Upload files", nofiles: "Please select some files first.", nolicense: "Please select a valid license first.", summary: "Summary", license: "License", uploading: "Uploading files...", uploaded: "Uploaded:", failed: "Failed:", done: "Done." }; if (mw.config.get("wgCanonicalSpecialPageName")!=="Upload") return; $("#wpUploadFile").parent().parent().addClass("regularFileSelect"); $("tr.regularFileSelect").before('<tr><td class="mw-label">'+i18n.multiupload+'</td><td class="mw-input"><label><input type="radio" name="multipleFiles" value="'+i18n.yes+'" /> '+i18n.yes+'</label> &nbsp; <label><input type="radio" name="multipleFiles" value="'+i18n.no+'" checked="" /> '+i18n.no+'</label></td></tr>'); $("tr.regularFileSelect").after('<tr class="multipleFileSelect" style="display:none;"><td class="mw-label">'+i18n.sourcefiles+'</td><td class="mw-input"><input type="file" id="multiupload" multiple /></td></tr>'); $("input[name='wpUpload']").addClass("regularFileSelect"); $("#wpDestFile").parent().parent().addClass("regularFileSelect"); $("#wpIgnoreWarning").parent().parent().addClass("regularFileSelect"); $("span.mw-htmlform-submit-buttons").append('<input type="button" value="'+i18n.uploadfiles+'" class="multipleFileSelect" style="display:none;" id="multiFileSubmit" />'); $("input[name='multipleFiles']").change(function(){ if (this.value===i18n.yes) { $(".regularFileSelect").hide(); $(".multipleFileSelect").show(); } else { $(".regularFileSelect").show(); $(".multipleFileSelect").hide(); } }); $("#multiFileSubmit").click(function() { files = $("#multiupload")[0].files; if (files.length === 0) { alert(i18n.nofiles); return false; } if ($("#wpLicense option:selected").val() === "") { alert(i18n.nolicense); return false; } summary = $("#wpUploadDescription").val(); if (summary !== "") summary = "== "+i18n.summary+" ==\n"+summary; license = "== "+i18n.license+" ==\n"+$("#wpLicense option:selected").prop("title"); text = summary + "\n" + license; watch = "preferences"; if ($("#wpWatchthis").is(":checked")) watch = "watch"; else watch = "nochange"; curFile = 0; $("#firstHeading").text(i18n.uploading); $("#mw-content-text").html("<h3>"+i18n.uploaded+"</h3><ul></ul><div style='display:none;' id='multiUploadFailed'><h3>"+i18n.failed+"</h3><ul></ul></div>"); function gNF() { if(curFile>files.length) { $("#mw-content-text").append("<h3>"+i18n.done+"</h3>"); return; } if(files[curFile] === undefined) { curFile++; gNF(); return; } $.ajax({url:'/api.php',data:{action:'query',meta:'tokens',format:'json'},dataType:'json'}).done(function(data) { fd = new FormData(); fd.append("action","upload"); fd.append("token",data.query.tokens.csrftoken); fd.append("filename",files[curFile].name); fd.append("file",files[curFile]); fd.append("text",text); fd.append("watchlist",watch); fd.append("ignorewarnings",1); fd.append("format","json"); $.ajax({ url:'/api.php', method:'POST', data:fd, cache:false, contentType:false, processData:false, type:'POST' }).done(function(d){ if (d.error == undefined) { $("#mw-content-text > ul").append('<li><a href="'+d.upload.imageinfo.descriptionurl+'" target="_blank">'+d.upload.filename+'</a></li>'); } else { $("#multiUploadFailed ul").append('<li>'+files[curFile].name+'</li>'); $("#multiUploadFailed").show(); } curFile++; gNF(); }).fail(function(d) { $("#multiUploadFailed ul").append('<li>'+files[curFile].name+'</li>'); $("#multiUploadFailed").show(); curFile++; gNF(); }); }); } gNF(); }); }); bbee7e49b69c0291c720b7adb6ca3d7d45672384 MediaWiki:Common.css 8 236 606 2024-01-29T15:10:50Z Westgrass 40 Created page with "/*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre {..." css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 480px; --theme-site-logo-height: 104px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] minmax(0, 1fr) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1800px) { :root { --layout-sidespace: 0px; /* whitespace width on most left and most right,must with "px" */ } } /* screen and (max-width: 1800px) */ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 660280824584af8bb2f6c8c289137a58ab266c7a 607 606 2024-01-29T15:31:31Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 480px; --theme-site-logo-height: 104px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: $layout-sidebar-width; /* width of side navbar, without gap */ --layout-sidespace: $layout-sidespace; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: $layout-box-gap; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1840px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: $layout-content-max-width; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5503d8b423b276617f12600a480de22bc614fd6e 608 607 2024-01-29T15:35:06Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 480px; --theme-site-logo-height: 104px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1840px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1600px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } e90f7e7aa5f60d1bec5bcfdc3c44e7457090ceb9 609 608 2024-01-29T15:35:40Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 480px; --theme-site-logo-height: 104px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 2); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; margin-top: var(--layout-box-gap); display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 70f8213444b7d12a8aca4c99c3c8672efb8b3256 612 609 2024-01-29T15:42:13Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #12011c url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: none; --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(255,255,255,0.75); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(255,255,255,0.75),rgba(255,255,255,0.75)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } c4f5940a68581d28dd447e6adf7d79b3fba4d1aa 616 612 2024-01-29T16:01:59Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(5px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } .theme-dark { /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ /* ref */ } .theme-dark #filetoc, .theme-dark code, .theme-dark .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .theme-dark .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .theme-dark .mw-search-profile-tabs, .theme-dark #mw-searchoptions, .theme-dark .mw-datatable td { background: none; } .theme-dark ol.references li:target, .theme-dark sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .theme-dark .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } .theme-dark #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } .theme-dark li.gallerybox div.thumb { background: var(--theme-box-background); } .theme-dark ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .theme-dark .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .theme-dark .oo-ui-tabSelectWidget-framed, .theme-dark .mw-prefs-buttons { background: none; } .theme-dark .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .theme-dark .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .theme-dark table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } .theme-dark table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } .theme-dark table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } .theme-dark :root { --pi-background: rgba(255,255,255, 0.1); } .theme-dark div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .theme-dark .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } .theme-dark div.thumbinner { background: none; } .theme-dark #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } .theme-dark #mw-indicator-mw-helplink a { background: none; position: relative; } .theme-dark #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .theme-dark .mw-plusminus-pos { color: #7cf56e; } .theme-dark .mw-plusminus-neg { color: #ff9a9b; } .theme-dark .autocomment, .theme-dark .autocomment a, .theme-dark .autocomment a:visited { color: var(--theme-text-color-note); } .theme-dark .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } .theme-dark fieldset { border-color: #ccc; } .theme-dark .mw-highlight pre, .theme-dark .mw-highlight code, .theme-dark .mw-highlight .mw-code { color: #ccc; } .theme-dark .mw-highlight .nv { color: #01C2EC; } .theme-dark .horse-userprofile { background-color: transparent; } .theme-dark .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .theme-dark .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .theme-dark .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .theme-dark .tabber__indicator { background: #01c2ec; } .theme-dark .tabber__tab { color: #ccc; } .theme-dark .tabber__tab:visited { color: #ccc; } .theme-dark .tabber__tab[aria-selected=true], .theme-dark .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .theme-dark .tabber__transclusion--loading .tabber__loading-indicator, .theme-dark .tabber__transclusion--loading:before, .theme-dark .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .theme-dark .tabber__tab:hover { color: #32d8ff; } .theme-dark .tabber__tab:active { color: #05b8e0; } .theme-dark .tabber__header__prev:hover, .theme-dark .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .theme-dark .tabber__header__prev:active, .theme-dark .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 164e2555b0c4d0d0dfc70ec876c3585b9136bef5 617 616 2024-01-29T16:02:54Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(5px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } aee47d873d9736f012fd9fe0d0927d1a844addc1 618 617 2024-01-29T16:03:12Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(10px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: #511e00; --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #000; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9d9d9d; --theme-text-color-em: #0c742f; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: #cecece; --theme-border-color-accent: #ffdd7a; --theme-highlight-background: rgba(97, 30, 0, 0.15); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } c28193655bb31dfa43be3fa436a273370c4f46a0 619 618 2024-01-29T16:08:44Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(10px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #3ce005; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #088488; --theme-link-color-hover: #022627; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #bf0017; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 568f4d91ebf82b567fe269855c025da6488178c7 620 619 2024-01-29T16:12:48Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #3ce005; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 04b98f2c01cfefd926dd88f142a801fdc3df91cb 621 620 2024-01-29T16:13:48Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d1f139a935401ff4f7980ec705081dfe771a15ec 624 621 2024-01-29T16:37:23Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -14px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } f58d00fce36dfc80d8c338936ea65e107944ffd5 625 624 2024-01-29T16:40:17Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -14px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } fa4d4f4eb5cb4edb762af0f4c26daac3aa5775a4 626 625 2024-01-29T16:45:22Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 7px; height: 100%; left: -14px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -14px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 1e2c8c49b1c9082109afa2cbc133ab96927268da 627 626 2024-01-29T16:46:11Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 7px; height: 100%; left: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -14px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } b49dc222c3a40ed9e19fd286ac452e0be3402a97 628 627 2024-01-29T16:46:54Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 4px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 7px; height: 100%; left: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d464ceb694db7cde218acb7f0e709e9fb073ef5c 629 628 2024-01-29T16:47:12Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(255,255,255,0.95); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 7px; height: 100%; left: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } bf079be51a53e0adf6a994ff9266062eec150450 630 629 2024-01-29T16:48:11Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.8); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 7px; height: 100%; left: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d249cb9fb87b3ad88135c595c181c1730823e50b 631 630 2024-01-29T16:48:54Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.6); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 7px; height: 100%; left: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } b4330fbbb0bb9131a4d22e5dfaa8847a502dd3dc 632 631 2024-01-29T16:49:32Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 7px; height: 100%; left: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 0 50 0 fill; border-image-width: 10px 0px 50px 0; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } cdab58bb5474160e060cc6cef4fea180eddf3168 634 632 2024-01-29T16:55:01Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 7px; height: 100%; left: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 7px; height: 100%; position: absolute; right: -12px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5d1f5cddaaa0995c921e7b8122c491327c27f09d 635 634 2024-01-29T16:55:49Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 015a467357482da7289a466981f5ecbb63c2d7e4 636 635 2024-01-29T16:57:39Z Westgrass 40 css text/css /* cyrillic-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4EsA.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* cyrillic */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4EsA.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* greek-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4EsA.woff2) format("woff2"); unicode-range: U+1F00-1FFF; } /* greek */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4EsA.woff2) format("woff2"); unicode-range: U+0370-03FF; } /* vietnamese */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4EsA.woff2) format("woff2"); unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB; } /* latin-ext */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4EsA.woff2) format("woff2"); unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* latin */ @font-face { font-family: "Roboto"; font-style: normal; font-weight: 900; font-display: swap; src: url(https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-face: Roboto, Arial, sans-serif; --theme-heading-font-weight: 900; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 606fe3c2103892509624c06e2638e19471fd96c5 637 636 2024-01-29T16:58:17Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 08600bdedd65b388f624ccfba285bdde7fdb378c 638 637 2024-01-29T16:59:25Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: 900; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 6a63887902dbd5b7a252b602f97bc7a97854570b 639 638 2024-01-29T16:59:50Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; border-bottom: 1px solid var(--theme-heading-rule-color-h2); padding-bottom: 3px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 0ed6195810aaab9a9893853462b6fdbbbb0afeab 640 639 2024-01-29T17:02:24Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 732d3c8ec44e56626331d2a2a7d5ca2171807df0 641 640 2024-01-29T17:03:50Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; border-bottom: 1px solid var(--theme-heading-rule-color-h2); margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } c5862ff16814f54553a0476a0b3ca75a951070d4 642 641 2024-01-29T17:04:13Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 63143e61502063a556516b0083d410c856e15442 643 642 2024-01-29T17:05:01Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 12px; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 12px; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 8211e38bbabba4126124ba141356affb17b45bc5 644 643 2024-01-29T17:06:19Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.5); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 24b1c9da50ab041b1b2f65669728d1dae5cb5ed2 645 644 2024-01-29T17:08:54Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.8); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a74bdd8eb67865074b1d2bf8f4fe2554dd9a3fee 646 645 2024-01-29T17:10:37Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.3); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } fea146790f5263a7118eab41d70124be5c814e65 647 646 2024-01-29T17:10:56Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a2894e500ac80cefa019d9445b6eb4d77a3f44f0 648 647 2024-01-29T17:11:19Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 85958dd50cfe92e8e83a821ac534dace71e56b65 649 648 2024-01-29T17:12:50Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: none; border-radius: 4px; border: 1px solid var(--theme-border-color); margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 861e197803d09b10576d42c45e7931f551329a4b 650 649 2024-01-29T17:13:50Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em; } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; border-top: 1px solid var(--theme-border-color); margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 6adb2b42f37edfb3bb2e695f953544a80e7ae08c 651 650 2024-01-29T17:18:51Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 8px 0 8px; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0.5em 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 60952362fc9a981d0b72c7da6716f7f11fac03bc File:Site-favicon.ico 6 216 610 584 2024-01-29T15:38:31Z Westgrass 40 Westgrass uploaded [[File:Site-favicon.ico]] wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b File:Site-logo.png 6 217 611 586 2024-01-29T15:41:36Z Westgrass 40 Westgrass uploaded [[File:Site-logo.png]] wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b File:Site-background.jpg 6 218 613 588 2024-01-29T15:51:25Z Westgrass 40 Westgrass uploaded [[File:Site-background.jpg]] wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b Template:InfoboxGame 10 6 614 580 2024-01-29T15:54:03Z Westgrass 40 Reverted edits by [[Special:Contributions/Westgrass|Westgrass]] ([[User talk:Westgrass|talk]]) to last revision by [[User:Azgoodaz|Azgoodaz]] wikitext text/x-wiki <includeonly><infobox> <title source="title"> <default>{{PAGENAME}}</default> </title> <image source="image"> <caption source="caption"/> </image> <data source="developer"> <label>Developer</label> </data> <data source="publisher"> <label>Publisher</label> </data> <data source="engine"> <label>Game Engine</label> </data> <data source="release"> <label>Release date</label> </data> <data source="platform"> <label>Platform</label> </data> <data source="price"> <label>Price</label> </data> <data source="store"> <label>Store</label> </data> </infobox></includeonly><noinclude> Usage:<pre> {{InfoboxGame |title= |image= |caption= |developer= |publisher= |release= |platform= }} </pre> [[Category:Infobox templates]]</noinclude> 6bd8c4951a14b5906ddf259bee2a92264c56e66d File:Keyart.jpg 6 219 615 589 2024-01-29T15:55:49Z Westgrass 40 Westgrass uploaded [[File:Keyart.jpg]] wikitext text/x-wiki {{license|Minakata Dynamics}} [[Category:Images]] 8b89ac50c9d65c1d705f59de7916be2e4233154b File:Shape-l.png 6 237 622 2024-01-29T16:29:03Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Shape-r.png 6 238 623 2024-01-29T16:29:14Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 633 623 2024-01-29T16:54:17Z Westgrass 40 Westgrass uploaded a new version of [[File:Shape-r.png]] wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 MediaWiki:Common.css 8 236 652 651 2024-01-29T17:20:06Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px calc(8px + 0.5em) 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 1em; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 0.5em; margin: 0; } .toc > ul a { display: block; padding: 2px 0.5em; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } b4ef4db90e6d81ee09f85cba33a381c3276462c8 653 652 2024-01-29T17:23:17Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0; font-size: 1em; min-width: 12em; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 7814a7213b7a0671cb75a9dc4c3e3c9f5aea596d 654 653 2024-01-29T17:29:31Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 7e7aa0c58f89e76674f3c0ed2eee0a140ba3ea53 655 654 2024-01-29T17:30:08Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 6f3fe6f5c61308d6910dc3e6948e0c05624ed360 656 655 2024-01-29T17:36:10Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.24); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: rgba(0, 0, 0, 0.1296); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 2ea633482a2a93949528497abf914790e6fd2767 657 656 2024-01-29T17:39:14Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: rgba(0, 0, 0, 0.24); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5d81251d1c5a71c4912a1eb8e0419ec8e1d47382 658 657 2024-01-29T17:40:32Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.5); backdrop-filter: var(--theme-box-back-backdrop-filter); position: relative; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } dc619c608d8693f53720ab4c9216d5b4923d4af0 659 658 2024-01-29T17:40:58Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 60285f3efaa92ff60d1146b5149f0f0e483ca0c1 660 659 2024-01-29T17:41:40Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: calc(100% + 4px); left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 36c23cea84e92a1a832b3293800798158fcebdea 661 660 2024-01-29T17:47:29Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } b90b715ad409d1d27f960c5493ad00363fb8aee4 662 661 2024-01-29T17:49:56Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 918c92f91a97d9621d5d44d21e48b261bab279f2 663 662 2024-01-29T17:51:02Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0; padding: 6px 10px; font-size: 16px; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a7996f9c60b92307df31e3a7b0e81538809a7f97 664 663 2024-01-29T17:55:39Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 4px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 4px; padding: 6px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 16px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d39f766d0207ae0850aaca2e7236ff2d67e69b28 665 664 2024-01-29T17:56:07Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 4px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 6px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 16px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 70efd9d79f23cf2fea4eb8a4b5343b29b9fb4f1d 666 665 2024-01-29T17:57:22Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 6px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 0; border-top: var(--theme-border-width) solid var(--theme-border-color); } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 1cb50d450e7b8905ac8af7822591b6746bce1db0 667 666 2024-01-29T17:58:52Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: var(--theme-box-background); --theme-tab-background-selected: var(--theme-box-background); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 1px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 1px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 839f050217613c2acd12707108b4240976460991 668 667 2024-01-29T18:01:41Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 03ec3985f427e5cc548628b30f0405990166edc3 669 668 2024-01-29T18:04:36Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeateat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } fa6a3d681f1c9dd2d64e025bd41a658510667712 670 669 2024-01-29T18:06:16Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 4px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } bbd9c00f6b47a8bc71b727212abc4dda553177b3 672 670 2024-01-29T18:10:32Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-link-color-hover: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 4px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 2d4669e7d7c078757ba06566915c3e81feffe4d4 673 672 2024-01-29T18:10:51Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 4px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: none; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } de39c603669bbe14cd9efa432d890b50a883625c 674 673 2024-01-29T18:11:34Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 4px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 2598ecbd4c657d76f41b1ec60b34ea62eee2107f 675 674 2024-01-29T18:12:25Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 4px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: var(--theme-box-border-radius); border-bottom-left-radius: 0; border-bottom-right-radius: 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 2a5026003348d5c27ffb89c1c63040ca287f5ca8 676 675 2024-01-29T18:13:32Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid var(--theme-box-border-color); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 4px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } cc6dfd525fd79654d8d47885d83852169a7c8139 677 676 2024-01-29T18:14:57Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 1px solid rgba(0,0,0,0.6); --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } aa1411e548f6d57283bd61e515826263b4f9c1b3 678 677 2024-01-29T18:15:20Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5a9522c4bb95dcb79bbddfffeaa2484684bd6928 679 678 2024-01-29T18:15:46Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 50f81f0a12f2c2c4ce5e441cd2d0532ad926761f 680 679 2024-01-29T18:17:11Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 1fe11b591ce09c25c8028cc8ab37d00df53a2dd3 681 680 2024-01-29T18:19:01Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.3); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d35b6150e6939573daf3b42af99567c1a4a3f497 682 681 2024-01-29T18:19:33Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; margin-left: 8px; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } a4ffdfdf7f94a0e22f6994198a75a3894e77ed57 685 682 2024-01-29T18:24:42Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.feature { font-size: 18px; } @media (max-width: 600px) { #mainpage-wrap .box.feature { font-size: 16px; } } #mainpage-wrap .box.feature ul { margin: 0.5em 0; display: grid; grid-template-columns: repeat(3, 1fr); list-style: none; justify-items: start; gap: 1em 1.5em; } @media (max-width: 600px) { #mainpage-wrap .box.feature ul { gap: 8px; } } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } ff9b9c6fb6963820ef0fd727228aa6acd43a6a49 687 685 2024-01-29T18:28:14Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); padding: 1.5em; } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 853e552759e49eb9b064159ea08bfd9e984492f9 688 687 2024-01-29T18:28:38Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } adb6538b7f7e5bea734440d6e424509ab1b3a8c6 689 688 2024-01-29T18:29:17Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 320px; max-height: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 05a7b368bdba88ebf04c8e8d21baa24ee56444e6 691 689 2024-01-29T18:31:09Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 240px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } 5ff1565891cb0c44f7c0bf49bfefbd952d99ae66 698 691 2024-01-29T18:35:42Z Westgrass 40 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } d3c0b0fba5b78f6a127742058b10ebcd1911e902 File:Shape-rr.png 6 239 671 2024-01-29T18:08:10Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Railgrade Wiki 0 1 683 578 2024-01-29T18:22:11Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official '''{{SITENAME}}'''</h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About RAILGRADE</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[RAILGRADE]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] 915b48d930f66c37b42660feb432c594ce187880 684 683 2024-01-29T18:22:39Z Westgrass 40 wikitext text/x-wiki __NOTITLE__ __NOTOC__ __NOEDITSECTION__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official '''{{SITENAME}}'''</h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About RAILGRADE</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[RAILGRADE]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] 22451147094b0926309b0bf9ed960f0abeebdde1 686 684 2024-01-29T18:26:22Z Westgrass 40 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ __NOTITLE__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official '''{{SITENAME}}'''</h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About RAILGRADE</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[RAILGRADE]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] e7d2529ba4d495abc74bb5d47fb44a8fe4559659 690 686 2024-01-29T18:29:32Z Westgrass 40 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ __NOTITLE__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official <em>{{SITENAME}}</em></h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About RAILGRADE</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[RAILGRADE]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] cfe2f8ad70e56b8fcb23842906ec831f8dd2c977 692 690 2024-01-29T18:31:56Z Westgrass 40 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ __NOTITLE__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official <em>{{SITENAME}}</em></h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Railgrade</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Railgrade]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Continued Development:''' See our [[roadmap]] and plans for the future! <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] 62a991a1387fb070c7110f0976d7bd2a9b8d60c4 Railgrade 0 221 693 591 2024-01-29T18:32:07Z Westgrass 40 wikitext text/x-wiki {{stub}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Minakata Dynamics |publisher=Minakata Dynamics, Gamera Games |release= |platform=PC }} '''Railgrade''' is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! [[Category:Railgrade| ]] 91adde1694f8e3e0e35cbf73c5ea7dc4e39b933a File:Screenshot4.jpg 6 240 694 2024-01-29T18:34:57Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Screenshot3.jpg 6 241 695 2024-01-29T18:35:01Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Screenshot2.jpg 6 242 696 2024-01-29T18:35:05Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 File:Screenshot1.jpg 6 243 697 2024-01-29T18:35:09Z Westgrass 40 wikitext text/x-wiki da39a3ee5e6b4b0d3255bfef95601890afd80709 Template:Item 10 62 699 426 2024-01-29T19:00:20Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[Category:Templates]] <noinclude> ===Example Output=== {{Item|Plastic}} </noinclude> <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]] </span></span></includeonly> d1fca9543e206b1be506e5bf3428d83fb54b8410 700 699 2024-01-29T19:03:12Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] <noinclude> ===Example Output=== {{Item|Plastic}} </noinclude><includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]] </span></span> </includeonly> c82a3487a27e0d215e9a8992e75a0779a7c000b0 701 700 2024-01-29T19:05:39Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[Category:Templates]] <noinclude> <noinclude> ===Example Output=== {{Item|Plastic}} </noinclude><includeonly><span class="item" style="white-space: nowrap;"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly> 31d467aaa7c15fe9bf4dbe5e3c88774d517550b2 Template:Item 10 62 702 701 2024-01-29T19:06:57Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[Category:Templates]] <noinclude> <noinclude> <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly> <noinclude> ===Example Output=== {{Item|Plastic}} </noinclude> 5e79bdf4cdcd73af03ad8a75db182e5ffff0c909 703 702 2024-01-29T19:07:38Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[Category:Templates]] ===Example Output=== {{Item|Plastic}} <noinclude> <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly> 339c5088930d5330777701f88e997554ead7f1d2 704 703 2024-01-29T19:07:58Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[Category:Templates]] <noinclude> ===Example Output=== {{Item|Plastic}} </noinclude> <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};"> [[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</span></span></includeonly> ab523e57c5116c8771b46f0267f7ca7a273ef8fd 705 704 2024-01-29T19:14:23Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[Category:Templates]] <noinclude> <noinclude> ===Example Output=== 1x{{Item|Plastic}} </noinclude> <includeonly>[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</includeonly> 9b73061ada5209ab2b8d5d3a824c9f7a5d87f886 708 705 2024-01-29T19:32:24Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[Category:Templates]] <noinclude> <noinclude> <noinclude> ===Example Output=== 1x{{Item|Plastic}} </noinclude><includeonly>[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</includeonly> 1a34b27992dcc1bc6009ebefbf4e9e0abae01429 Template:IndustryDetail 10 75 706 427 2024-01-29T19:15:27Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[category:templates]] <noinclude> ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water | out1Ct = 1}} |} </noinclude> <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly> b894d64ad8fb31cd23bfacef78378579ff99c717 707 706 2024-01-29T19:25:25Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] <noinclude> ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 1 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} |} </noinclude> <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly> 3bf305215db697a985a5b8ad09fd69d0e4e14ad7 709 707 2024-01-29T19:32:54Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] <noinclude> ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} |} </noinclude> <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly> 55b4fc17ffbcddfd2d26b3ec7e26b39fca5f643a Power Supply and Demand 0 244 710 2024-01-30T03:52:38Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Power Supply and Demand |number = 3 Bonus |prevMissions = [[Mix Oil and Water]] |biome = Desert |money = 25000 |objectives = {{!}}Power Supply and Demand{{!}}{{!}}Deliver 256 Energy to quest City |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * O..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Power Supply and Demand |number = 3 Bonus |prevMissions = [[Mix Oil and Water]] |biome = Desert |money = 25000 |objectives = {{!}}Power Supply and Demand{{!}}{{!}}Deliver 256 Energy to quest City |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Objective Text==== {{blockquote | text = In visionary words a stray memo calls for this region's City to receive extra Energy. The memo appears old and mentions wind turbines. Perhaps a duplicate left over from the colony's previous owners. | signature = Power Supply and Demand }} bde8488ecf0537e552fc829f1ad5109a1b36c322 713 710 2024-01-30T04:06:46Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Power Supply and Demand |number = 3 Bonus |prevMissions = [[Mix Oil and Water]] |biome = Desert |money = 25000 |objectives = {{!}}Power Supply and Demand{{!}}{{!}}Deliver 256 Energy to quest City |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] - level 1 (Quest Structure) * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Objective Text==== {{blockquote | text = In visionary words a stray memo calls for this region's City to receive extra Energy. The memo appears old and mentions wind turbines. Perhaps a duplicate left over from the colony's previous owners. | signature = Power Supply and Demand }} ac8ae39df3168c1b56ec7c3a884eb9abaeb728a8 Round About and Out 0 245 711 2024-01-30T03:58:34Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Round About and Out |number = 4 Bonus B |prevMissions = [[Metalsome Production]] |biome = Temperate |money = 10000 |objectives = {{!}}Mistaken Delivery{{!}}{{!}}Export 256 Appliances at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 4x Appliance Plant - Level 4 * 1x Import Dock - 36 Steel per minu..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Round About and Out |number = 4 Bonus B |prevMissions = [[Metalsome Production]] |biome = Temperate |money = 10000 |objectives = {{!}}Mistaken Delivery{{!}}{{!}}Export 256 Appliances at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 4x Appliance Plant - Level 4 * 1x Import Dock - 36 Steel per minute * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Objective Text==== {{blockquote | text = When life gives you Copper and Steel, make Appliances! Don't let your Steel exports go to waste; import here and combine with Copper to produce every household's dream Appliances! The colony's workers will be proud to fill their homes with this region's outputs. | signature = Mistaken Delivery }} 0f434010cc8b94c40a6f061adedc51b8dc4d0795 712 711 2024-01-30T03:59:25Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Round About and Out |subtitle = Import Dock |number = 4 Bonus B |prevMissions = [[Metalsome Production]] |biome = Temperate |money = 10000 |objectives = {{!}}Mistaken Delivery{{!}}{{!}}Export 256 Appliances at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 4x Appliance Plant - Level 4 * 1x Import Dock - 36 Steel per minute * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Objective Text==== {{blockquote | text = When life gives you Copper and Steel, make Appliances! Don't let your Steel exports go to waste; import here and combine with Copper to produce every household's dream Appliances! The colony's workers will be proud to fill their homes with this region's outputs. | signature = Mistaken Delivery }} 9ac4e01d830c5a392035dbbd85a9d370ccf9beba Fork in the Water 0 246 714 2024-01-30T04:10:51Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Fork in the Water |number = 5 |prevMissions = [[Stretched Thin]] |nextMissions = [[Salt City]] |biome = Temperate |money = 17000 |objectives = {{!}}Just add Water and Concrete{{!}}{{!}}Reach 256 population in quest City |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Concrete Yard - Level 5 * 2x Water Pump * Bank * Accounta..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Fork in the Water |number = 5 |prevMissions = [[Stretched Thin]] |nextMissions = [[Salt City]] |biome = Temperate |money = 17000 |objectives = {{!}}Just add Water and Concrete{{!}}{{!}}Reach 256 population in quest City |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Concrete Yard - Level 5 * 2x Water Pump * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits ==Region Unlocks== Upon Region Entrance * Silica Quarry ==Transcript== ====Preamble==== {{blockquote | text = You’ve proved yourself proficient, so I’m assigning you to an... odd region. It has plenty of Ore demand but limited Ore supply. You’ll need to carefully balance how much Ore you send to each industry. Your goal will be to grow the city, which will be impossible if you’ve starved one of the industry chains. Mr. Nakatani has taken an interest in the colony. Or at least I think he might have. I’ve been assigned to a bunch of meetings about the colony - just yesterday we had a big discussion about how to value the colony for tax purposes. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = For your assignment, grow the CITY to Level 1 with Water, then expand into Concrete production to grow it further to Level 2. Existing Water Pumps will leave you supply constrained when producing Concrete so either balance Water usage or construct additional Water Pumps. | signature = Just add Water and Concrete }} 9bb65724cf3f1f0092ab9d6e95539a71c5c20420 715 714 2024-01-30T04:11:26Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Fork in the Water |number = 5 |prevMissions = [[Stretched Thin]] |nextMissions = [[Rooting out the Route]] |biome = Temperate |money = 17000 |objectives = {{!}}Just add Water and Concrete{{!}}{{!}}Reach 256 population in quest City |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Concrete Yard - Level 5 * 2x Water Pump * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits ==Region Unlocks== Upon Region Entrance * Silica Quarry ==Transcript== ====Preamble==== {{blockquote | text = You’ve proved yourself proficient, so I’m assigning you to an... odd region. It has plenty of Ore demand but limited Ore supply. You’ll need to carefully balance how much Ore you send to each industry. Your goal will be to grow the city, which will be impossible if you’ve starved one of the industry chains. Mr. Nakatani has taken an interest in the colony. Or at least I think he might have. I’ve been assigned to a bunch of meetings about the colony - just yesterday we had a big discussion about how to value the colony for tax purposes. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = For your assignment, grow the CITY to Level 1 with Water, then expand into Concrete production to grow it further to Level 2. Existing Water Pumps will leave you supply constrained when producing Concrete so either balance Water usage or construct additional Water Pumps. | signature = Just add Water and Concrete }} 80421800d7076f3adbe255a74f58630047de30e2 Rooting out the Route 0 247 716 2024-01-30T04:26:35Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 Energy per Minute at quest Oil Powerplant {{!}}Check your Work{{!}}{{!}}Produce an average of 12 Energy per Minute at quest Oil Powerplant |partimeM = 25 }} ==Notable Region Features=..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 Energy per Minute at quest Oil Powerplant {{!}}Check your Work{{!}}{{!}}Produce an average of 12 Energy per Minute at quest Oil Powerplant |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Oil Powerplant]] - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 2x Glass Smelter - Level 5 * 4x [[Oil Well]] - Level 5 * 4x Silica Quarry - Level 2 * Bank * Accountancy * Voucher Exchange ==Region Unlocks== Upon Region Entrance * Alternating Branch Logic ==Transcript== ====Preamble==== {{blockquote | text = Hohoho. Now do I have a present for you. Remember Westminster? They sold us the track management software. Well they just announced an expansion! Automated alternating branches with collision avoidance! Mouthful I know but the brochure promises “Increased throughput” and “effortless multiple stations usage”. Go forth and try it out. I’ve set up a region for validation. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Thank you for choosing Westminster for all your track terminal software needs. Please validate your Westminster Alternating Subsystem in this interactive physical test. Your first task is to validate the copy function. Increase the number of Oil Supply trains by copying the existing multi-station optimized trains. When copying trains the branch preferences are also copied. | signature = Alternating Production }} {{blockquote | text = Your task is to set up the other unused track section. Buy a new train, configure it to use both multi-stations by marking the branches as alternating. | signature = Plot Your Own Path }} {{blockquote | text = For your final task, setup Glass production. Use the existing railways connecting the Glass Smelters with the Silica Mines. Then export the produced Glass. For highest throughput experiment with alternating branch preferences. | signature = Check your Work }} ====Afterword==== {{blockquote | text = Nice work on the alternating branch validation. That should be the last validation region ever. Westminster just announced they are discontinuing support for our version of the software. Hopefully next tax year we’ll get budget for an upgrade. | signature = {{Signature-}} }} 9f79ed8da70506942329b97e0b6d9067ba52233b 717 716 2024-01-30T04:27:02Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 Energy per Minute at quest Oil Powerplant {{!}}- {{!}}Check your Work{{!}}{{!}}Produce an average of 12 Energy per Minute at quest Oil Powerplant |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Oil Powerplant]] - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 2x Glass Smelter - Level 5 * 4x [[Oil Well]] - Level 5 * 4x Silica Quarry - Level 2 * Bank * Accountancy * Voucher Exchange ==Region Unlocks== Upon Region Entrance * Alternating Branch Logic ==Transcript== ====Preamble==== {{blockquote | text = Hohoho. Now do I have a present for you. Remember Westminster? They sold us the track management software. Well they just announced an expansion! Automated alternating branches with collision avoidance! Mouthful I know but the brochure promises “Increased throughput” and “effortless multiple stations usage”. Go forth and try it out. I’ve set up a region for validation. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Thank you for choosing Westminster for all your track terminal software needs. Please validate your Westminster Alternating Subsystem in this interactive physical test. Your first task is to validate the copy function. Increase the number of Oil Supply trains by copying the existing multi-station optimized trains. When copying trains the branch preferences are also copied. | signature = Alternating Production }} {{blockquote | text = Your task is to set up the other unused track section. Buy a new train, configure it to use both multi-stations by marking the branches as alternating. | signature = Plot Your Own Path }} {{blockquote | text = For your final task, setup Glass production. Use the existing railways connecting the Glass Smelters with the Silica Mines. Then export the produced Glass. For highest throughput experiment with alternating branch preferences. | signature = Check your Work }} ====Afterword==== {{blockquote | text = Nice work on the alternating branch validation. That should be the last validation region ever. Westminster just announced they are discontinuing support for our version of the software. Hopefully next tax year we’ll get budget for an upgrade. | signature = {{Signature-}} }} 13963c2f29829ad12d1c471323d618bfeb8bdb65 721 717 2024-01-30T04:51:12Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 Energy per Minute at quest Oil Powerplant {{!}}- {{!}}Check your Work{{!}}{{!}}Export an average of 18 Glass per Minute at quest Zeppelin Dock |partimeM = 15 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Oil Powerplant]] - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 2x Glass Smelter - Level 5 * 4x [[Oil Well]] - Level 5 * 4x Silica Quarry - Level 2 * Bank * Accountancy * Voucher Exchange ==Region Unlocks== Upon Region Entrance * Alternating Branch Logic ==Transcript== ====Preamble==== {{blockquote | text = Hohoho. Now do I have a present for you. Remember Westminster? They sold us the track management software. Well they just announced an expansion! Automated alternating branches with collision avoidance! Mouthful I know but the brochure promises “Increased throughput” and “effortless multiple stations usage”. Go forth and try it out. I’ve set up a region for validation. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Thank you for choosing Westminster for all your track terminal software needs. Please validate your Westminster Alternating Subsystem in this interactive physical test. Your first task is to validate the copy function. Increase the number of Oil Supply trains by copying the existing multi-station optimized trains. When copying trains the branch preferences are also copied. | signature = Alternating Production }} {{blockquote | text = Your task is to set up the other unused track section. Buy a new train, configure it to use both multi-stations by marking the branches as alternating. | signature = Plot Your Own Path }} {{blockquote | text = For your final task, setup Glass production. Use the existing railways connecting the Glass Smelters with the Silica Mines. Then export the produced Glass. For highest throughput experiment with alternating branch preferences. | signature = Check your Work }} ====Afterword==== {{blockquote | text = Nice work on the alternating branch validation. That should be the last validation region ever. Westminster just announced they are discontinuing support for our version of the software. Hopefully next tax year we’ll get budget for an upgrade. | signature = {{Signature-}} }} a16bfa9154aa2d4af2494ab7cf54b34e962e91fc 722 721 2024-01-30T04:51:44Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] * [[Glassed Over]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 Energy per Minute at quest Oil Powerplant {{!}}- {{!}}Check your Work{{!}}{{!}}Export an average of 18 Glass per Minute at quest Zeppelin Dock |partimeM = 15 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Oil Powerplant]] - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 2x Glass Smelter - Level 5 * 4x [[Oil Well]] - Level 5 * 4x Silica Quarry - Level 2 * Bank * Accountancy * Voucher Exchange ==Region Unlocks== Upon Region Entrance * Alternating Branch Logic ==Transcript== ====Preamble==== {{blockquote | text = Hohoho. Now do I have a present for you. Remember Westminster? They sold us the track management software. Well they just announced an expansion! Automated alternating branches with collision avoidance! Mouthful I know but the brochure promises “Increased throughput” and “effortless multiple stations usage”. Go forth and try it out. I’ve set up a region for validation. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Thank you for choosing Westminster for all your track terminal software needs. Please validate your Westminster Alternating Subsystem in this interactive physical test. Your first task is to validate the copy function. Increase the number of Oil Supply trains by copying the existing multi-station optimized trains. When copying trains the branch preferences are also copied. | signature = Alternating Production }} {{blockquote | text = Your task is to set up the other unused track section. Buy a new train, configure it to use both multi-stations by marking the branches as alternating. | signature = Plot Your Own Path }} {{blockquote | text = For your final task, setup Glass production. Use the existing railways connecting the Glass Smelters with the Silica Mines. Then export the produced Glass. For highest throughput experiment with alternating branch preferences. | signature = Check your Work }} ====Afterword==== {{blockquote | text = Nice work on the alternating branch validation. That should be the last validation region ever. Westminster just announced they are discontinuing support for our version of the software. Hopefully next tax year we’ll get budget for an upgrade. | signature = {{Signature-}} }} 119234d889176eb822d71c8bd78d1a16d5784c66 Giant Choice 0 248 718 2024-01-30T04:32:29Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Giant Choice |number = S2 |prevMissions = [[Mix Oil and Water]] |nextMissions = [[Rooting out the Route]] |biome = Temperate |money = 27000 |objectives = {{!}}A City Fit for an Administrator!{{!}}{{!}}Reach 256 population in quest City |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * Bank * Accountancy * Voucher Exchange Reso..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Giant Choice |number = S2 |prevMissions = [[Mix Oil and Water]] |nextMissions = [[Rooting out the Route]] |biome = Temperate |money = 27000 |objectives = {{!}}A City Fit for an Administrator!{{!}}{{!}}Reach 256 population in quest City |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins * Silica Deposits ==Region Unlocks== Upon Region Entrance * Concrete Yard Industry * Wire Coiler Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = Do not allow Saito to distract you from what is important. He wishes only to teach you what his manuals claim are important. Do you truly need to prove you know of opportunity cost? No. You are an administrator. You build entire regions from the dust! You know this colony needs workers, so build a great city. Moderation is for the birds. And Saito. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Hide your city among the radar reflecting mountains. Grow your city from the vast natural resources left untouched in this region. Only you shall know of this giant in the rough. | signature = A City Fit for an Administrator! }} ====Afterword==== {{blockquote | text = News has arrived. It is good news. Wheels are in motion. To a direction I pick. For now I’ll trust you in the fumbling hands of Saito. Humour him, and he will reward you. | signature = {{Signature-nanashi}} }} a1e7187ed7322dac2459509765aea42b8127082f 719 718 2024-01-30T04:34:35Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Giant Choice |number = S2 |prevMissions = [[Mix Oil and Water]] |nextMissions = [[Rooting out the Route]] |biome = Temperate |money = 27000 |objectives = {{!}}A City Fit for an Administrator!{{!}}{{!}}Reach 256 population in quest City |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins * Silica Deposits ==Region Unlocks== Upon Region Entrance * Concrete Yard Industry * Wire Coiler Industry ==Transcript== ====Preamble==== {{blockquote | text = Do not allow Saito to distract you from what is important. He wishes only to teach you what his manuals claim are important. Do you truly need to prove you know of opportunity cost? No. You are an administrator. You build entire regions from the dust! You know this colony needs workers, so build a great city. Moderation is for the birds. And Saito. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Hide your city among the radar reflecting mountains. Grow your city from the vast natural resources left untouched in this region. Only you shall know of this giant in the rough. | signature = A City Fit for an Administrator! }} ====Afterword==== {{blockquote | text = News has arrived. It is good news. Wheels are in motion. To a direction I pick. For now I’ll trust you in the fumbling hands of Saito. Humour him, and he will reward you. | signature = {{Signature-nanashi}} }} 542e4779160636d495298365493455d03caeb65f Glassed Over 0 249 720 2024-01-30T04:47:34Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Glassed Over |number = 6 Bonus |prevMissions = [[Rooting out the Route]] |biome = Temperate |money = 17000 |objectives = {{!}}Path of Glass{{!}}{{!}}Deliever 196 Glass to quest City |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] - Level 2 (Quest Structure) * 1x Import Dock - importing 18 Glass per minute * 2x Wire Coiler * 1x Steel Mill * 4x Coa..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Glassed Over |number = 6 Bonus |prevMissions = [[Rooting out the Route]] |biome = Temperate |money = 17000 |objectives = {{!}}Path of Glass{{!}}{{!}}Deliever 196 Glass to quest City |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] - Level 2 (Quest Structure) * 1x Import Dock - importing 18 Glass per minute * 2x Wire Coiler * 1x Steel Mill * 4x Coal Mine * 2x Iron Mine * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins ==Transcript== ====Objective Text==== {{blockquote | text = Now put your Glass exports to smashing use! Just don't destroy the Glass directly; even the auditors would notice that. You'll need some creativity. Send the Glass to this oversized City. Either feed the city's demands to sell Glass at cost or produce more profitable chains to subsidize imports. | signature = Path of Glass }} f50c580bd28c1cf99e424b587e1ebed06e0fbe15 723 720 2024-01-30T04:52:27Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Glassed Over |subtitle = Import Dock |number = 6 Bonus |prevMissions = [[Rooting out the Route]] |biome = Temperate |money = 17000 |objectives = {{!}}Path of Glass{{!}}{{!}}Deliever 196 Glass to quest City |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] - Level 2 (Quest Structure) * 1x Import Dock - importing 18 Glass per minute * 2x Wire Coiler * 1x Steel Mill * 4x Coal Mine * 2x Iron Mine * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins ==Transcript== ====Objective Text==== {{blockquote | text = Now put your Glass exports to smashing use! Just don't destroy the Glass directly; even the auditors would notice that. You'll need some creativity. Send the Glass to this oversized City. Either feed the city's demands to sell Glass at cost or produce more profitable chains to subsidize imports. | signature = Path of Glass }} 83f462fb5cef16a73a4abf369c8064fa3a51cb96 Salt City 0 250 724 2024-01-30T05:02:09Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Salt City |number = 7 |prevMissions = [[Rooting out the Route]] |nextMissions = [[]] |biome = Savannah |money = 11000 |objectives = {{!}}Salt the City{{!}}{{!}}Reach 128 population at quest City {{!}}- {{!}}Now for the Work{{!}}{{!}}Export 32 Concrete at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Salt City |number = 7 |prevMissions = [[Rooting out the Route]] |nextMissions = [[]] |biome = Savannah |money = 11000 |objectives = {{!}}Salt the City{{!}}{{!}}Reach 128 population at quest City {{!}}- {{!}}Now for the Work{{!}}{{!}}Export 32 Concrete at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 4x Salt Refinery * 2x Concrete Yard * 3x Silica Quarry * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Steel Track Supports Upon Region Completion * Salt Refinery Industry ==Transcript== ====Preamble==== {{blockquote | text = Cities are the backbone of any region’s economy. Cities purchase freight and provide Workers. When you support a city and supply their needs, the city will grow and level up. Give this a try in your next region. You’ll need to pay close attention to maintaining city growth in the future, so it’s best to learn now. Good news from the lawyers: They’ve gotten you a license for stronger track supports. Try it out by building 6 tiles high in the next region. It should help when building dense stations. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = This region lacks Water or much besides Silica Ore. Your task is to feed the City with Salt. When Water is rare, Salt is a good alternative. This region forces a decision, because even with Water, you may wish to save Water supply for higher tier industry chains. | signature = Salt the City }} {{blockquote | text = You’ve grown the workforce. Now put them to work. Your task is to export the required weight of Concrete. | signature = Now for the Work }} ====Afterword==== {{blockquote | text = You've learned all I can teach you. My schedule is piling up with meetings so I must leave you to your own devices. I’ve disabled the ban on direct messages, so you should start receiving help requests from nearby regions. Please use the skills we’ve developed to help improve the colony. | signature = {{Signature-saito-1}} }} e1217c06697436bd597401ad5f2d5079c1c339aa 725 724 2024-01-30T05:02:21Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Salt City |number = 7 |prevMissions = [[Rooting out the Route]] |nextMissions = [[Gorge of Greed]] |biome = Savannah |money = 11000 |objectives = {{!}}Salt the City{{!}}{{!}}Reach 128 population at quest City {{!}}- {{!}}Now for the Work{{!}}{{!}}Export 32 Concrete at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 4x Salt Refinery * 2x Concrete Yard * 3x Silica Quarry * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Steel Track Supports Upon Region Completion * Salt Refinery Industry ==Transcript== ====Preamble==== {{blockquote | text = Cities are the backbone of any region’s economy. Cities purchase freight and provide Workers. When you support a city and supply their needs, the city will grow and level up. Give this a try in your next region. You’ll need to pay close attention to maintaining city growth in the future, so it’s best to learn now. Good news from the lawyers: They’ve gotten you a license for stronger track supports. Try it out by building 6 tiles high in the next region. It should help when building dense stations. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = This region lacks Water or much besides Silica Ore. Your task is to feed the City with Salt. When Water is rare, Salt is a good alternative. This region forces a decision, because even with Water, you may wish to save Water supply for higher tier industry chains. | signature = Salt the City }} {{blockquote | text = You’ve grown the workforce. Now put them to work. Your task is to export the required weight of Concrete. | signature = Now for the Work }} ====Afterword==== {{blockquote | text = You've learned all I can teach you. My schedule is piling up with meetings so I must leave you to your own devices. I’ve disabled the ban on direct messages, so you should start receiving help requests from nearby regions. Please use the skills we’ve developed to help improve the colony. | signature = {{Signature-saito-1}} }} d984e3623294826466c82a431c330a9df5bed926 Gorge of Greed 0 251 726 2024-01-30T05:09:27Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Gorge of Greed |number = 8 |prevMissions = [[Salt City]] |nextMissions = [[]] |biome = Savannah |money = 29000 |objectives = {{!}}City Rehabilitation{{!}}{{!}}Reach 128 Population in quest 1 City {{!}}- {{!}}Left Behind{{!}}{{!}}Reach 256 Population in quest 2 City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x [[City]]..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Gorge of Greed |number = 8 |prevMissions = [[Salt City]] |nextMissions = [[]] |biome = Savannah |money = 29000 |objectives = {{!}}City Rehabilitation{{!}}{{!}}Reach 128 Population in quest 1 City {{!}}- {{!}}Left Behind{{!}}{{!}}Reach 256 Population in quest 2 City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x [[City]] (Quest 1 Structure) * 2x Coal Powerplant * 1x Salt Refinery * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Silica Deposits * Coal Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Coal Mine Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = Ours is a fair city on the North bank of the Great Gorge Canyon. No doubt you’ve heard of us - we are renowned as the fairest city in the entire colony. We are in need of rehabilitation. You see, once the trucks left, our fair city’s population dwindled. Please hurry. Every day our reputation decays and the ruffians on the South bank are spreading rumours. | signature = {{Signature-Nanashi}} }} ====Objective Text==== {{blockquote | text = The Fairest City in the colony requires your urgent assistance. Rehabilitate their city to Level 1. Use the local Silica deposits to produce Salt. Consider catalyzing the city’s growth with Energy from the Coal Powerplants across the gorge. | signature = City Rehabilitation }} {{blockquote | text = Unrest! Across the Gorge, the city protests being passed over for rehabilitation! They are threatening to strike if you do not upgrade them to Level 2! They claim the first city was never the fairest and it was all ego driven boasting. Consider redirecting railways and supplies to feed the second city. You’ve met the “Fairest City’s” demands so they have no ground to complain. Preventing labour unrest is paramount. | signature = Left Behind }} ====Afterword==== {{blockquote | text = My name is Jeff. I am messaging you because I’ve seen the meeting notes, and it's clear to me that Saito has been mismanaging the colony. This colony should be key to Nakatani Chemical’s future, but that won't happen if Saito continues to waste its potential. Keep up the good work and don't worry - I promise Saito's failures will not negatively impact your chance to come home. | signature = {{Signature-jeff-1}} }} f408b7d2a7e1845aa6cba2156c17ee6f0b07e175 727 726 2024-01-30T05:09:52Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Gorge of Greed |number = 8 |prevMissions = [[Salt City]] |nextMissions = [[]] |biome = Savannah |money = 29000 |objectives = {{!}}City Rehabilitation{{!}}{{!}}Reach 128 Population in quest 1 City {{!}}- {{!}}Left Behind{{!}}{{!}}Reach 256 Population in quest 2 City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x [[City]] (Quest 1 Structure) * 2x Coal Powerplant * 1x Salt Refinery * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Silica Deposits * Coal Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Coal Mine Industry Upon Mission Completion * Coal Powerplant ==Transcript== ====Preamble==== {{blockquote | text = Ours is a fair city on the North bank of the Great Gorge Canyon. No doubt you’ve heard of us - we are renowned as the fairest city in the entire colony. We are in need of rehabilitation. You see, once the trucks left, our fair city’s population dwindled. Please hurry. Every day our reputation decays and the ruffians on the South bank are spreading rumours. | signature = {{Signature-Nanashi}} }} ====Objective Text==== {{blockquote | text = The Fairest City in the colony requires your urgent assistance. Rehabilitate their city to Level 1. Use the local Silica deposits to produce Salt. Consider catalyzing the city’s growth with Energy from the Coal Powerplants across the gorge. | signature = City Rehabilitation }} {{blockquote | text = Unrest! Across the Gorge, the city protests being passed over for rehabilitation! They are threatening to strike if you do not upgrade them to Level 2! They claim the first city was never the fairest and it was all ego driven boasting. Consider redirecting railways and supplies to feed the second city. You’ve met the “Fairest City’s” demands so they have no ground to complain. Preventing labour unrest is paramount. | signature = Left Behind }} ====Afterword==== {{blockquote | text = My name is Jeff. I am messaging you because I’ve seen the meeting notes, and it's clear to me that Saito has been mismanaging the colony. This colony should be key to Nakatani Chemical’s future, but that won't happen if Saito continues to waste its potential. Keep up the good work and don't worry - I promise Saito's failures will not negatively impact your chance to come home. | signature = {{Signature-jeff-1}} }} f8771191717a9c25ca93bc1131d954ad32b3b1e6 728 727 2024-01-30T05:10:10Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Gorge of Greed |number = 8 |prevMissions = [[Salt City]] |nextMissions = [[Uphill Both Ways]] |biome = Savannah |money = 29000 |objectives = {{!}}City Rehabilitation{{!}}{{!}}Reach 128 Population in quest 1 City {{!}}- {{!}}Left Behind{{!}}{{!}}Reach 256 Population in quest 2 City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x [[City]] (Quest 1 Structure) * 2x Coal Powerplant * 1x Salt Refinery * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Silica Deposits * Coal Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Coal Mine Industry Upon Mission Completion * Coal Powerplant ==Transcript== ====Preamble==== {{blockquote | text = Ours is a fair city on the North bank of the Great Gorge Canyon. No doubt you’ve heard of us - we are renowned as the fairest city in the entire colony. We are in need of rehabilitation. You see, once the trucks left, our fair city’s population dwindled. Please hurry. Every day our reputation decays and the ruffians on the South bank are spreading rumours. | signature = {{Signature-Nanashi}} }} ====Objective Text==== {{blockquote | text = The Fairest City in the colony requires your urgent assistance. Rehabilitate their city to Level 1. Use the local Silica deposits to produce Salt. Consider catalyzing the city’s growth with Energy from the Coal Powerplants across the gorge. | signature = City Rehabilitation }} {{blockquote | text = Unrest! Across the Gorge, the city protests being passed over for rehabilitation! They are threatening to strike if you do not upgrade them to Level 2! They claim the first city was never the fairest and it was all ego driven boasting. Consider redirecting railways and supplies to feed the second city. You’ve met the “Fairest City’s” demands so they have no ground to complain. Preventing labour unrest is paramount. | signature = Left Behind }} ====Afterword==== {{blockquote | text = My name is Jeff. I am messaging you because I’ve seen the meeting notes, and it's clear to me that Saito has been mismanaging the colony. This colony should be key to Nakatani Chemical’s future, but that won't happen if Saito continues to waste its potential. Keep up the good work and don't worry - I promise Saito's failures will not negatively impact your chance to come home. | signature = {{Signature-jeff-1}} }} 02f7b2c829a37d1ea506dbbff021dcbeb38a69d0 729 728 2024-01-30T05:10:45Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Gorge of Greed |number = 8 |prevMissions = [[Salt City]] |nextMissions = [[Uphill Both Ways]] |biome = Savannah |money = 29000 |objectives = {{!}}City Rehabilitation{{!}}{{!}}Reach 128 Population in quest 1 City {{!}}- {{!}}Left Behind{{!}}{{!}}Reach 256 Population in quest 2 City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x City (Quest 2 Structure) * 2x Coal Powerplant * 1x Salt Refinery * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Silica Deposits * Coal Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Coal Mine Industry Upon Mission Completion * Coal Powerplant ==Transcript== ====Preamble==== {{blockquote | text = Ours is a fair city on the North bank of the Great Gorge Canyon. No doubt you’ve heard of us - we are renowned as the fairest city in the entire colony. We are in need of rehabilitation. You see, once the trucks left, our fair city’s population dwindled. Please hurry. Every day our reputation decays and the ruffians on the South bank are spreading rumours. | signature = {{Signature-Nanashi}} }} ====Objective Text==== {{blockquote | text = The Fairest City in the colony requires your urgent assistance. Rehabilitate their city to Level 1. Use the local Silica deposits to produce Salt. Consider catalyzing the city’s growth with Energy from the Coal Powerplants across the gorge. | signature = City Rehabilitation }} {{blockquote | text = Unrest! Across the Gorge, the city protests being passed over for rehabilitation! They are threatening to strike if you do not upgrade them to Level 2! They claim the first city was never the fairest and it was all ego driven boasting. Consider redirecting railways and supplies to feed the second city. You’ve met the “Fairest City’s” demands so they have no ground to complain. Preventing labour unrest is paramount. | signature = Left Behind }} ====Afterword==== {{blockquote | text = My name is Jeff. I am messaging you because I’ve seen the meeting notes, and it's clear to me that Saito has been mismanaging the colony. This colony should be key to Nakatani Chemical’s future, but that won't happen if Saito continues to waste its potential. Keep up the good work and don't worry - I promise Saito's failures will not negatively impact your chance to come home. | signature = {{Signature-jeff-1}} }} 8609114d0cf8c5508df2abbe7fb238825e7ae195 730 729 2024-01-30T05:10:57Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Gorge of Greed |number = 8 |prevMissions = [[Salt City]] |nextMissions = [[Uphill Both Ways]] |biome = Savannah |money = 29000 |objectives = {{!}}City Rehabilitation{{!}}{{!}}Reach 128 Population in quest 1 City {{!}}- {{!}}Left Behind{{!}}{{!}}Reach 256 Population in quest 2 City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x City (Quest 2 Structure) * 2x Coal Powerplant * 1x Salt Refinery * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Silica Deposits * Coal Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Coal Mine Industry Upon Mission Completion * Coal Powerplant Industry ==Transcript== ====Preamble==== {{blockquote | text = Ours is a fair city on the North bank of the Great Gorge Canyon. No doubt you’ve heard of us - we are renowned as the fairest city in the entire colony. We are in need of rehabilitation. You see, once the trucks left, our fair city’s population dwindled. Please hurry. Every day our reputation decays and the ruffians on the South bank are spreading rumours. | signature = {{Signature-Nanashi}} }} ====Objective Text==== {{blockquote | text = The Fairest City in the colony requires your urgent assistance. Rehabilitate their city to Level 1. Use the local Silica deposits to produce Salt. Consider catalyzing the city’s growth with Energy from the Coal Powerplants across the gorge. | signature = City Rehabilitation }} {{blockquote | text = Unrest! Across the Gorge, the city protests being passed over for rehabilitation! They are threatening to strike if you do not upgrade them to Level 2! They claim the first city was never the fairest and it was all ego driven boasting. Consider redirecting railways and supplies to feed the second city. You’ve met the “Fairest City’s” demands so they have no ground to complain. Preventing labour unrest is paramount. | signature = Left Behind }} ====Afterword==== {{blockquote | text = My name is Jeff. I am messaging you because I’ve seen the meeting notes, and it's clear to me that Saito has been mismanaging the colony. This colony should be key to Nakatani Chemical’s future, but that won't happen if Saito continues to waste its potential. Keep up the good work and don't worry - I promise Saito's failures will not negatively impact your chance to come home. | signature = {{Signature-jeff-1}} }} e9767faa6b8faef7c7ade714173f69069676f36a 731 730 2024-01-30T05:12:28Z Hiroteashi 379511 /* Preamble */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Gorge of Greed |number = 8 |prevMissions = [[Salt City]] |nextMissions = [[Uphill Both Ways]] |biome = Savannah |money = 29000 |objectives = {{!}}City Rehabilitation{{!}}{{!}}Reach 128 Population in quest 1 City {{!}}- {{!}}Left Behind{{!}}{{!}}Reach 256 Population in quest 2 City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x City (Quest 2 Structure) * 2x Coal Powerplant * 1x Salt Refinery * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Silica Deposits * Coal Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Coal Mine Industry Upon Mission Completion * Coal Powerplant Industry ==Transcript== ====Preamble==== {{blockquote | text = Ours is a fair city on the North bank of the Great Gorge Canyon. No doubt you’ve heard of us - we are renowned as the fairest city in the entire colony. We are in need of rehabilitation. You see, once the trucks left, our fair city’s population dwindled. Please hurry. Every day our reputation decays and the ruffians on the South bank are spreading rumours. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = The Fairest City in the colony requires your urgent assistance. Rehabilitate their city to Level 1. Use the local Silica deposits to produce Salt. Consider catalyzing the city’s growth with Energy from the Coal Powerplants across the gorge. | signature = City Rehabilitation }} {{blockquote | text = Unrest! Across the Gorge, the city protests being passed over for rehabilitation! They are threatening to strike if you do not upgrade them to Level 2! They claim the first city was never the fairest and it was all ego driven boasting. Consider redirecting railways and supplies to feed the second city. You’ve met the “Fairest City’s” demands so they have no ground to complain. Preventing labour unrest is paramount. | signature = Left Behind }} ====Afterword==== {{blockquote | text = My name is Jeff. I am messaging you because I’ve seen the meeting notes, and it's clear to me that Saito has been mismanaging the colony. This colony should be key to Nakatani Chemical’s future, but that won't happen if Saito continues to waste its potential. Keep up the good work and don't worry - I promise Saito's failures will not negatively impact your chance to come home. | signature = {{Signature-jeff-1}} }} 3f0400a5fca334cdc6f95ba9e20791bb0d781dce Template:Signature-jeff-1 10 185 732 515 2024-01-30T05:13:47Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [category:templates] </noinclude>Jeff &lt;REDACTED&gt; Nakatani Chemicals 6b0ee301859ebec6e32de4c6d035a0096079faf4 733 732 2024-01-30T05:13:56Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Jeff &lt;REDACTED&gt; Nakatani Chemicals 6db46097f0a52a53b3c44bbe171d8c9a847aaeb0 742 733 2024-01-30T19:18:04Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Jeff<br />&lt;REDACTED&gt;<br />Nakatani Chemicals 216501b4a62368bc975abbd945de7854a42881d6 Template:Signature-jeff-2 10 186 734 516 2024-01-30T05:14:14Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Jeff Head of Liquidations and Divestments Nakatani Chemicals 5bfa1bab76ec3f34b4150956f489f9821da6276d 741 734 2024-01-30T19:17:49Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Jeff<br />Head of Liquidations and Divestments<br />Nakatani Chemicals 630107ea63920907818aafdc59ea4d3292bdbf12 Template:Signature-nanashi 10 184 735 514 2024-01-30T05:14:23Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Nameless Null of Null Location Unknown ac42289292731610d76e00fb67b3541176df1bbe 740 735 2024-01-30T19:17:36Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Nameless<br />Null of Null<br />Location Unknown 5b5ed9cbf1aa349343e5328dbd1c096632b0f0ff Template:Signature-saito-1 10 182 736 511 2024-01-30T05:14:32Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Saito, Department Head of Off World Colonies Nakatani Chemicals cce3f32f6d34ddb89a1e7c7e36a8e9107c176220 739 736 2024-01-30T19:17:13Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Saito,<br />Department Head of Off World Colonies<br />Nakatani Chemicals 7ea8b5daab7e247706f01899d885ef1f5599c25e Template:Signature-saito-2 10 183 737 513 2024-01-30T05:14:41Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Saito, Building Maintenance Nakatani Chemicals ab24cd29176f4003f9ed65b34851c6359dcf5d6f 743 737 2024-01-30T19:18:25Z Hiroteashi 379511 wikitext text/x-wiki <noinclude> [[category:templates]] </noinclude>Saito,<br />Building Maintenance<br />Nakatani Chemicals 715f9a90d9441681a09c98cef7252792fa839bbf Uphill Both Ways 0 252 738 2024-01-30T19:16:19Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Uphill Both Ways |number = 8 |prevMissions = * [[Gorge of Greed]] |nextMissions = * [[Historic Restoration]] * [[Ancient Erosion]] * [[The Spire]] |biome = Savannah |money = 17000 |objectives = {{!}}Impossible Haul{{!}}{{!}}Export 184 Steel at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Stee..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Uphill Both Ways |number = 8 |prevMissions = * [[Gorge of Greed]] |nextMissions = * [[Historic Restoration]] * [[Ancient Erosion]] * [[The Spire]] |biome = Savannah |money = 17000 |objectives = {{!}}Impossible Haul{{!}}{{!}}Export 184 Steel at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Steel Mill - Level 2 * 4x Coal Mine * 2x Iron Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Iron Veins * Coal Veins * Steam Vents ==Region Unlocks== Upon Region Entrance * Industrial Engine Upon Mission Completion * Steel Mill ==Transcript== ====Preamble==== {{blockquote | text = Corporate built us two giant Steel Mills because someone on Earth noticed a surplus of “nearby” Ore Mine. Great, right? But what they failed to notice were the massive cliffs between the ore and these here mills. Does corporate expect us to lift metric tons of Ore up sheer cliffs on our backs? Right now the Steel Mills are being wasted - you and your trains are our furnaces’s only hope! Ages ago they sent us license files for a hill climbing Industrial Engine, maybe you can use that? | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Absurd misplanning left this region with unusable Steel Mills. Now achieve the impossible and activate this Steel chain! Your task is to overcome the odds and export the required quantity of Steel at the Zeppelin Dock. The locals have given you an Industrial Engine license file, a hill climbing specialist, for climbing these steep angles. They caution you against mentioning this license file to any lawyers. | signature = Impossible Haul }} ====Afterword==== {{blockquote | text = The prospect of carrying Ore up the cliffs was too difficult to imagine. Truth is, we never even tried - well if they skip providing health insurance by making us contract employees, what do they expect?! Your trains will make our lives much easier. Much appreciated. | signature = {{Signature-nanashi}} }} c97ffef09be5fdefa6bcabaaf72a88d9c4ad6f45 Ancient Erosion 0 253 744 2024-01-30T19:23:58Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Ancient Erosion |number = 9 Bonus A |prevMissions = [[Uphill Both Ways]] |biome = Desert |money = 7000 |objectives = {{!}}Oily Valley{{!}}{{!}}Export an average of 28 Crude Oil per minute |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Steel Mill * 2x Coal Mine - Level 2 * 1x Iron Mine - Level 2 * 1x City * Bank *..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Ancient Erosion |number = 9 Bonus A |prevMissions = [[Uphill Both Ways]] |biome = Desert |money = 7000 |objectives = {{!}}Oily Valley{{!}}{{!}}Export an average of 28 Crude Oil per minute |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Steel Mill * 2x Coal Mine - Level 2 * 1x Iron Mine - Level 2 * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Iron Veins * Coal Veins * Steam Vents ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry ==Transcript== ====Objective Text==== {{blockquote | text = An accident during terraformation caused a sand-slide carving a deep valley in this desert. Further erosion later uncovered fresh Oil. Your task is to export a steady flow of this Oil. 8 unupgraded Oil Wells will meet the requirements. Raise cash by using the region’s existing non-oil industries. | signature = Oily Valley }} 919c011305edab5bb1b2137d26148caa73981b54 746 744 2024-01-30T19:33:18Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Ancient Erosion |number = 9 Bonus A |prevMissions = [[Uphill Both Ways]] |biome = Desert |money = 7000 |objectives = {{!}}Oily Valley{{!}}{{!}}Export an average of 28 Crude Oil per minute |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Steel Mill * 2x Coal Mine - Level 2 * 1x Iron Mine - Level 2 * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Iron Veins * Coal Veins * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = An accident during terraformation caused a sand-slide carving a deep valley in this desert. Further erosion later uncovered fresh Oil. Your task is to export a steady flow of this Oil. 8 unupgraded Oil Wells will meet the requirements. Raise cash by using the region’s existing non-oil industries. | signature = Oily Valley }} f6422095670d8a2c8f6a662f731eb280103c1b96 747 746 2024-01-30T19:33:27Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Ancient Erosion |number = 9 Bonus A |prevMissions = [[Uphill Both Ways]] |biome = Desert |money = 7000 |objectives = {{!}}Oily Valley{{!}}{{!}}Export an average of 28 Crude Oil per minute |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Steel Mill * 2x Coal Mine - Level 2 * 1x Iron Mine - Level 2 * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Iron Veins * Coal Veins * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = An accident during terraformation caused a sand-slide carving a deep valley in this desert. Further erosion later uncovered fresh Oil. Your task is to export a steady flow of this Oil. 8 unupgraded Oil Wells will meet the requirements. Raise cash by using the region’s existing non-oil industries. | signature = Oily Valley }} e4bd8efd1f40a027b85e6f4c8ff5660e8c082f5d The Spire 0 254 745 2024-01-30T19:32:59Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = The Spire |number = 9 Bonus B |prevMissions = [[Uphill Both Ways]] |biome = Boreal |money = 29000 |objectives = {{!}}Flood Proof View{{!}}{{!}}Reach 272 population in quest City |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Zeppelin Dock * 1x Appliance Plant * Bank * Accountancy * Voucher Exchange Resources Nodes Presen..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = The Spire |number = 9 Bonus B |prevMissions = [[Uphill Both Ways]] |biome = Boreal |money = 29000 |objectives = {{!}}Flood Proof View{{!}}{{!}}Reach 272 population in quest City |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Zeppelin Dock * 1x Appliance Plant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Iron Veins * Coal Veins * Copper Veins * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Excessive flood concern or rumoured vista seeking put this large city atop a twisting spire. With trucks all was fine thanks to rubber’s high coefficient of friction. Sadly trains will prove more slippery. Your task is to grow the city despite the location’s steep challenges. | signature = Flood Proof View }} f19a9bf1826b7f2afaed682b67e6f373a87b95d5 Historic Restoration 0 255 748 2024-01-30T19:49:13Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Historic Restoration |number = 10 |prevMissions = [[Uphill Both Ways]] |nextMissions = [[Shifting Sands]] |biome = Desert |money = 11000 |objectives = {{!}}Furniture, Furniture, Furniture!{{!}}{{!}}Reach 512 population in quest City |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 2x Furniture Assembler - Level 3 * 3x Salt Sift..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Historic Restoration |number = 10 |prevMissions = [[Uphill Both Ways]] |nextMissions = [[Shifting Sands]] |biome = Desert |money = 11000 |objectives = {{!}}Furniture, Furniture, Furniture!{{!}}{{!}}Reach 512 population in quest City |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 2x Furniture Assembler - Level 3 * 3x Salt Sifter * 2x Oil Well * 1x Water Pump * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Coal Deposits * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Plasticizer Industry Upon Mission Completion * Furniture Assembler Industry ==Transcript== ====Preamble==== {{blockquote | text = Our once-proud Level 2 City has now de-leveled. Without the trucks, our Furniture Factory’s output could not reach our city. And without that factory, we all lost our jobs. The poor and desperate have been signing lifetime contracts with other colonies just for a chance to leave! Please save our city. We’ve worked hard to build a home on this colony. If you can upgrade the City to level 2, then the factory can start supplying the city with Furniture again. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region used to rely on Furniture as the major industrial chain. Without the core Furniture demand from a Level 3 city, the balance between supply and demand broke. Your task is to upgrade the city to level 3 and assemble balance for the Furniture economy. | signature = Furniture, Furniture, Furniture! }} ====Afterword==== {{blockquote | text = Level 3! Imagine that! You’ve made our city better than ever! They said that a city in the desert isn’t the most natural idea, but you’ve allowed us to thrive! | signature = {{Signature-nanashi}} }} 32439d14730823d8e0cd705205a8f579816b9038 749 748 2024-01-30T19:50:32Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Historic Restoration |number = 10 |prevMissions = * [[Uphill Both Ways]] |nextMissions = * [[Shifting Sands]] * [[Bottleneck]] |biome = Desert |money = 11000 |objectives = {{!}}Furniture, Furniture, Furniture!{{!}}{{!}}Reach 512 population in quest City |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 2x Furniture Assembler - Level 3 * 3x Salt Sifter * 2x Oil Well * 1x Water Pump * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Coal Deposits * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Plasticizer Industry Upon Mission Completion * Furniture Assembler Industry ==Transcript== ====Preamble==== {{blockquote | text = Our once-proud Level 2 City has now de-leveled. Without the trucks, our Furniture Factory’s output could not reach our city. And without that factory, we all lost our jobs. The poor and desperate have been signing lifetime contracts with other colonies just for a chance to leave! Please save our city. We’ve worked hard to build a home on this colony. If you can upgrade the City to level 2, then the factory can start supplying the city with Furniture again. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region used to rely on Furniture as the major industrial chain. Without the core Furniture demand from a Level 3 city, the balance between supply and demand broke. Your task is to upgrade the city to level 3 and assemble balance for the Furniture economy. | signature = Furniture, Furniture, Furniture! }} ====Afterword==== {{blockquote | text = Level 3! Imagine that! You’ve made our city better than ever! They said that a city in the desert isn’t the most natural idea, but you’ve allowed us to thrive! | signature = {{Signature-nanashi}} }} fa86b57046db48970e388715e82710985d939797 Bottleneck 0 256 750 2024-01-30T19:55:06Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = BottlnNeck |number = 10 Bonus |prevMissions = [[Historic Restoration]] |biome = Boreal |money = 29000 |objectives = {{!}}T'was a Concrete Delivery{{!}}{{!}}Export 256 Concrete at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 3x Concrete Yard * 1x Silica Quarry * 1x Water Pump * 1x Worker Housing..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = BottlnNeck |number = 10 Bonus |prevMissions = [[Historic Restoration]] |biome = Boreal |money = 29000 |objectives = {{!}}T'was a Concrete Delivery{{!}}{{!}}Export 256 Concrete at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 3x Concrete Yard * 1x Silica Quarry * 1x Water Pump * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Objective Text==== {{blockquote | text = In planning, this region was to provide much of the Colony’s Concrete supply. In practice, vast volumes were wasted stabilizing the region’s steep cliffs. Your task is to ignore regional stability and export all Concrete production. | signature = T'was a Concrete Delivery }} 4c241da6cbec1c7b79292f98ce14a0dd64c41a1b 751 750 2024-01-30T19:55:25Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = BottlnNeck |number = 10 Bonus |prevMissions = [[Historic Restoration]] |biome = Boreal |money = 29000 |objectives = {{!}}T'was a Concrete Delivery{{!}}{{!}}Export 256 Concrete at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 3x Concrete Yard * 1x Silica Quarry * 1x Water Pump * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = In planning, this region was to provide much of the Colony’s Concrete supply. In practice, vast volumes were wasted stabilizing the region’s steep cliffs. Your task is to ignore regional stability and export all Concrete production. | signature = T'was a Concrete Delivery }} ed23b1e1a343ae633ef7ff7b090d880b5ce8c437 Shifting Sands 0 257 752 2024-01-30T20:01:41Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Shifting Sands |number = 11 |prevMissions = * [[Historic Restoration]] |nextMissions = * [[]] * [[]] |biome = Desert |money = 7000 |objectives = {{!}}Houses built on Sand{{!}}{{!}}Export 64 Appliances at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Steel Mill - Level 2 * 2x Appliance Plant *..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Shifting Sands |number = 11 |prevMissions = * [[Historic Restoration]] |nextMissions = * [[]] * [[]] |biome = Desert |money = 7000 |objectives = {{!}}Houses built on Sand{{!}}{{!}}Export 64 Appliances at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Steel Mill - Level 2 * 2x Appliance Plant * 1x Geothermal * 2x Wire Coiler * 2x Iron Mine * 2x Coal Mine * 2x Copper Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = Please help us! Our region was built on shifting sands. Prior administrators threw truck after truck into the sand dunes but never found a stable path. We've been cut off ever since. All industries idled and our city's workers unemployed. Our tests with wooden planks and old dishwashers showed promise. If you stick to ground level railways the tracks should spread weight across the sand. I promise. Please. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region cannot be abandoned, we've invested too much. Your task is to stay low, build ground level railways and export Appliances. The shifting sands cannot support elevated tracks so use crossings and branches as required. | signature = Houses built on Sand }} ====Afterword==== {{blockquote | text = Oh. Wow. It worked. Truth be told, the wooden plank and dishwasher tests all sunk after an hour. Sorry to mislead you but we were desperate. We’ve started half filling the train cars. That should keep the sinking to a minimum. | signature = {{Signature-nanashi}} }} 07ecc7f2be8c5b48aa6575a40b008521a2e02fb7 753 752 2024-01-30T20:03:05Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Shifting Sands |number = 11 |prevMissions = * [[Historic Restoration]] |nextMissions = * [[A Lighter Form of Oil]] * [[Downletting Upholsteries]] |biome = Desert |money = 7000 |objectives = {{!}}Houses built on Sand{{!}}{{!}}Export 64 Appliances at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Steel Mill - Level 2 * 2x Appliance Plant * 1x Geothermal * 2x Wire Coiler * 2x Iron Mine * 2x Coal Mine * 2x Copper Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = Please help us! Our region was built on shifting sands. Prior administrators threw truck after truck into the sand dunes but never found a stable path. We've been cut off ever since. All industries idled and our city's workers unemployed. Our tests with wooden planks and old dishwashers showed promise. If you stick to ground level railways the tracks should spread weight across the sand. I promise. Please. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region cannot be abandoned, we've invested too much. Your task is to stay low, build ground level railways and export Appliances. The shifting sands cannot support elevated tracks so use crossings and branches as required. | signature = Houses built on Sand }} ====Afterword==== {{blockquote | text = Oh. Wow. It worked. Truth be told, the wooden plank and dishwasher tests all sunk after an hour. Sorry to mislead you but we were desperate. We’ve started half filling the train cars. That should keep the sinking to a minimum. | signature = {{Signature-nanashi}} }} 08ca93fc116c4e23da70cc71581279d8f0c8fe77 A Lighter Form of Oil 0 258 754 2024-01-30T20:10:07Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = A Lighter Form of Oil |subtitle = Neon from Oil |number = 12 Branch A1 |prevMissions = [[Shifting Sands]] |nextMissions = [[]] |biome = Savannah |money = 17000 |objectives = {{!}}Voluminous Neon{{!}}{{!}}Export 184 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refinery - Level..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = A Lighter Form of Oil |subtitle = Neon from Oil |number = 12 Branch A1 |prevMissions = [[Shifting Sands]] |nextMissions = [[]] |biome = Savannah |money = 17000 |objectives = {{!}}Voluminous Neon{{!}}{{!}}Export 184 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refinery - Level 3 * 4x Oil Refinery * 1x Oil Powerplant * 3x Water Pump * 1x Oil Well - Level 3 * 1x Oil Well - Level 1 * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Water Springs * Steam Vents ==Region Unlocks== Upon Mission Completion * Oil Refinery * Neon Refinery ==Transcript== ====Preamble==== {{blockquote | text = Neon Gas demand is growing year by year. Obviously Earth cannot support such a dirty industry. So colonies like ours serve the role. Don't worry about the pollution, the profits are worth it. Please restart this region’s Neon Gas refinement industry - you can use raw Oil to make Neon Gas. Along the chain you should consider leveraging catalysts and upgrades to improve production volume. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Earth needs Neon Gas, so says Saito. Towards your task, this region has received a Level 3 Neon Refinery plus ample Oil Refineries. Build out your railways and pressurize those Neon Gas exports! | signature = {{Signature-}} }} ====Afterword==== {{blockquote | text = Well done! We’ve received your first Neon Gas shipments. The quality is top notch, and the environmental inspectors missed any off gassing upon Earth entry. | signature = {{Signature-saito-1}} }} 9803455c7d749229f6cfdb64b10a190db465f701 755 754 2024-01-30T20:10:19Z Hiroteashi 379511 /* Objective Text */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = A Lighter Form of Oil |subtitle = Neon from Oil |number = 12 Branch A1 |prevMissions = [[Shifting Sands]] |nextMissions = [[]] |biome = Savannah |money = 17000 |objectives = {{!}}Voluminous Neon{{!}}{{!}}Export 184 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refinery - Level 3 * 4x Oil Refinery * 1x Oil Powerplant * 3x Water Pump * 1x Oil Well - Level 3 * 1x Oil Well - Level 1 * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Water Springs * Steam Vents ==Region Unlocks== Upon Mission Completion * Oil Refinery * Neon Refinery ==Transcript== ====Preamble==== {{blockquote | text = Neon Gas demand is growing year by year. Obviously Earth cannot support such a dirty industry. So colonies like ours serve the role. Don't worry about the pollution, the profits are worth it. Please restart this region’s Neon Gas refinement industry - you can use raw Oil to make Neon Gas. Along the chain you should consider leveraging catalysts and upgrades to improve production volume. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Earth needs Neon Gas, so says Saito. Towards your task, this region has received a Level 3 Neon Refinery plus ample Oil Refineries. Build out your railways and pressurize those Neon Gas exports! | signature = Voluminous Neon }} ====Afterword==== {{blockquote | text = Well done! We’ve received your first Neon Gas shipments. The quality is top notch, and the environmental inspectors missed any off gassing upon Earth entry. | signature = {{Signature-saito-1}} }} 25cb34841f398440982fd0a7cc0ad1329f20b5a1 756 755 2024-01-30T20:10:47Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = A Lighter Form of Oil |subtitle = Neon from Oil |number = 12 Branch A1 |prevMissions = [[Shifting Sands]] |nextMissions = [[Good Buys Forever]] |biome = Savannah |money = 17000 |objectives = {{!}}Voluminous Neon{{!}}{{!}}Export 184 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refinery - Level 3 * 4x Oil Refinery * 1x Oil Powerplant * 3x Water Pump * 1x Oil Well - Level 3 * 1x Oil Well - Level 1 * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Water Springs * Steam Vents ==Region Unlocks== Upon Mission Completion * Oil Refinery * Neon Refinery ==Transcript== ====Preamble==== {{blockquote | text = Neon Gas demand is growing year by year. Obviously Earth cannot support such a dirty industry. So colonies like ours serve the role. Don't worry about the pollution, the profits are worth it. Please restart this region’s Neon Gas refinement industry - you can use raw Oil to make Neon Gas. Along the chain you should consider leveraging catalysts and upgrades to improve production volume. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Earth needs Neon Gas, so says Saito. Towards your task, this region has received a Level 3 Neon Refinery plus ample Oil Refineries. Build out your railways and pressurize those Neon Gas exports! | signature = Voluminous Neon }} ====Afterword==== {{blockquote | text = Well done! We’ve received your first Neon Gas shipments. The quality is top notch, and the environmental inspectors missed any off gassing upon Earth entry. | signature = {{Signature-saito-1}} }} e53088a1fde6723c18c659a0a67b07de72424231 Good Buys Forever 0 259 757 2024-01-30T20:17:44Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Good Buys Forever |number = 12 Branch A2 |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Savannah |money = 17000 |objectives = {{!}}Doing right by the Factories{{!}}{{!}}Export 196 Appliance at quest Zeppelin Dock |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest S..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Good Buys Forever |number = 12 Branch A2 |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Savannah |money = 17000 |objectives = {{!}}Doing right by the Factories{{!}}{{!}}Export 196 Appliance at quest Zeppelin Dock |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Appliance Plant * 1x Electronics Fab * 5x Wire Coiler * 1x Coal Powerplant * 2x Coal Mine * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Upon Mission Completion * Appliance Plant Industry * Hard Mold Industry ==Transcript== ====Preamble==== {{blockquote | text = We’ve got two incredible Appliance Plant just sitting idle. It is a true shame of corporate mismanagement that the beauties are just depreciating away. We want you to do right by them. Or you could use the Electronics factory. In theory that black box can produce Appliances too but it is so ugly no one has touched that thing in years. In either case our economy is Appliances dependent and the Appliances must flow. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Restart Appliances production with an eye for export. Remember to grow the city for extra Workers. Electronics Fab or regular Appliance Plant, either work. But Appliance Plants are finer. Or so say the locals. | signature = Doing right by the Factories }} 22a0b3cbf51f8e114cc7a4fb72962bf1b2d7fe4d 760 757 2024-01-30T20:30:31Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Good Buys Forever |number = 12 Branch A2 |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Savannah |money = 17000 |objectives = {{!}}Doing right by the Factories{{!}}{{!}}Export 196 Appliance at quest Zeppelin Dock |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Appliance Plant * 1x Electronics Fab * 5x Wire Coiler * 1x Coal Powerplant * 2x Coal Mine * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Upon Mission Completion * Appliance Plant Industry * Hard Mold Industry * Electronics Fab Industry ==Transcript== ====Preamble==== {{blockquote | text = We’ve got two incredible Appliance Plant just sitting idle. It is a true shame of corporate mismanagement that the beauties are just depreciating away. We want you to do right by them. Or you could use the Electronics factory. In theory that black box can produce Appliances too but it is so ugly no one has touched that thing in years. In either case our economy is Appliances dependent and the Appliances must flow. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Restart Appliances production with an eye for export. Remember to grow the city for extra Workers. Electronics Fab or regular Appliance Plant, either work. But Appliance Plants are finer. Or so say the locals. | signature = Doing right by the Factories }} f3d39a82769427fd5f9754a3fae4b963b1ba18fa Downletting Upholsteries 0 260 758 2024-01-30T20:24:37Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Downletting Upholsteries |subtitle = Mass Furniture |number = 12 Branch B |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Temperate |money = 47000 |objectives = {{!}}Coalish Furniture{{!}}{{!}}Export 128 Furniture at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x Z..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Downletting Upholsteries |subtitle = Mass Furniture |number = 12 Branch B |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Temperate |money = 47000 |objectives = {{!}}Coalish Furniture{{!}}{{!}}Export 128 Furniture at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 6 Hard Mold * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents Upon Mission Completion * Appliance Plant Industry * Hard Mold Industry ==Transcript== ====Preamble==== {{blockquote | text = Do you like Coal? We do. We didn’t when we first moved here but work with it long enough and you come to terms. You see our region was assigned to manufacture Furniture from Coal using Hardmolds on the far bank of the valley. We hope there was more to the decision than the rumoured random dice. Perhaps you’ll see the logic in the situation, we sure don’t. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Hardmolds allow Plastic production even for regions with Coal but no Oil. Your task is to press this region’s plentiful Coal into household Furniture. Coal based Plastic is an acquired habit but the locals are pressuring you to rescue their mismatched work assignments. | signature = Coalish Furniture }} ====Afterword==== {{blockquote | text = You’ve gotten our lives back on track. Earlier I asked why our region got such an odd assignment. You know what? Don’t answer. Worst case the remote administrator before you truly did pick assignments at random. If so, I do not want to know the truth. Just please tell them to care a bit more. | signature = {{Signature-nanashi}} }} 405a980f2543a896bd48f3abf2e5590d1abc4e33 761 758 2024-01-30T20:30:40Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Downletting Upholsteries |subtitle = Mass Furniture |number = 12 Branch B |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Temperate |money = 47000 |objectives = {{!}}Coalish Furniture{{!}}{{!}}Export 128 Furniture at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 6 Hard Mold * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents Upon Mission Completion * Appliance Plant Industry * Hard Mold Industry * Electronics Fab Industry ==Transcript== ====Preamble==== {{blockquote | text = Do you like Coal? We do. We didn’t when we first moved here but work with it long enough and you come to terms. You see our region was assigned to manufacture Furniture from Coal using Hardmolds on the far bank of the valley. We hope there was more to the decision than the rumoured random dice. Perhaps you’ll see the logic in the situation, we sure don’t. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Hardmolds allow Plastic production even for regions with Coal but no Oil. Your task is to press this region’s plentiful Coal into household Furniture. Coal based Plastic is an acquired habit but the locals are pressuring you to rescue their mismatched work assignments. | signature = Coalish Furniture }} ====Afterword==== {{blockquote | text = You’ve gotten our lives back on track. Earlier I asked why our region got such an odd assignment. You know what? Don’t answer. Worst case the remote administrator before you truly did pick assignments at random. If so, I do not want to know the truth. Just please tell them to care a bit more. | signature = {{Signature-nanashi}} }} 7bd17bdbc4afa0a308ffba001a0077e98b3213fa Back to Basics 0 261 759 2024-01-30T20:29:18Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Back to Basics |number = 12 Bonus |prevMissions = * [[Good Buys Forever]] * [[Downletting Upholsteries]] |biome = Temperate |money = |objectives = {{!}}First Job Second Verse{{!}}{{!}}Export an average of 64 Water per minute |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Coal Powerplant * 1x Water Pump * 1x City..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Back to Basics |number = 12 Bonus |prevMissions = * [[Good Buys Forever]] * [[Downletting Upholsteries]] |biome = Temperate |money = |objectives = {{!}}First Job Second Verse{{!}}{{!}}Export an average of 64 Water per minute |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Coal Powerplant * 1x Water Pump * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Your task is to squeeze this region into a local Water export powerhouse. Corporate’s requirements are for 16 Water Pumps worth of flow. Achieve this through new construction, upgrades, and catalysts. | signature = First Job Second Verse }} 4f2f078eb3cce580457a6b8bfc0ac7325fefae8c Category:Missions 14 11 762 506 2024-01-30T20:32:27Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Stor]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |} 028fca9364a5b367ec88a6758f35c7a319f115fa Waste Not; Want More 0 262 763 2024-01-30T20:39:51Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Waste Not; Want More |number = 13 |prevMissions = * [[Downletting Upholsteries]] * [[Good Buys Forever]] |nextMissions = * [[]] * [[]] * [[]] |biome = Temperate |money = 17000 |objectives = {{!}}Dirty Neon{{!}}{{!}}Export 168 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refin..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Waste Not; Want More |number = 13 |prevMissions = * [[Downletting Upholsteries]] * [[Good Buys Forever]] |nextMissions = * [[]] * [[]] * [[]] |biome = Temperate |money = 17000 |objectives = {{!}}Dirty Neon{{!}}{{!}}Export 168 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refiner - Level 3 * 1x Incinerator - Level 3 * 1x Incinerator - Level 0 * 1x Coal Gassifier - Level 2 * 1x Coal Gassifier - Level 1 * 1x Coal Gassifier - Level 0 * 1x Coal Powerplant * 4x Coal Mine - Level 2 * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = Thankfully my meetings are all cancelled. They were a waste of time. The board was not respecting my experience. I’ll be blunt: Nakatani Chemicals needs us. Do not tell anyone else but they are in dire need of more Neon Gas. An alert on my terminal gave away the secret; even our neon billboards are running low. This Coal-only region is not ideal. Oil would be better. We have no choice. You must make do with Coal-derived Neon Gas. Not easy or cheap, but it will let you generate Neon Gas in regions without Oil. Like this one. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Byproducts are a challenging aspect of alternative production chains. While Coal Gasifiers produce Reactive from Coal what cannot be liquefied comes out as Waste. In secret Nakatani Chemicals has run a massive Neon Gas deficiency. It is lucky Saito noticed. This region, and your task, is Nakatani’s only hope of filling the deficit without panic. Export the required Neon Gas in secret. We cannot allow any competitors or other employees to realize what we are doing. | signature = Dirty Neon }} ====Afterword==== {{blockquote | text = Wonderful. The Neon Gas is on the way. I’ve hidden the shipment as yet another load of Furniture. Please keep this our little secret. | signature = {{Signature-jeff-1}} }} 0efa351366308597407ad503213a22a02e821418 764 763 2024-01-30T20:40:24Z Hiroteashi 379511 /* Afterword */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Waste Not; Want More |number = 13 |prevMissions = * [[Downletting Upholsteries]] * [[Good Buys Forever]] |nextMissions = * [[]] * [[]] * [[]] |biome = Temperate |money = 17000 |objectives = {{!}}Dirty Neon{{!}}{{!}}Export 168 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refiner - Level 3 * 1x Incinerator - Level 3 * 1x Incinerator - Level 0 * 1x Coal Gassifier - Level 2 * 1x Coal Gassifier - Level 1 * 1x Coal Gassifier - Level 0 * 1x Coal Powerplant * 4x Coal Mine - Level 2 * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = Thankfully my meetings are all cancelled. They were a waste of time. The board was not respecting my experience. I’ll be blunt: Nakatani Chemicals needs us. Do not tell anyone else but they are in dire need of more Neon Gas. An alert on my terminal gave away the secret; even our neon billboards are running low. This Coal-only region is not ideal. Oil would be better. We have no choice. You must make do with Coal-derived Neon Gas. Not easy or cheap, but it will let you generate Neon Gas in regions without Oil. Like this one. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Byproducts are a challenging aspect of alternative production chains. While Coal Gasifiers produce Reactive from Coal what cannot be liquefied comes out as Waste. In secret Nakatani Chemicals has run a massive Neon Gas deficiency. It is lucky Saito noticed. This region, and your task, is Nakatani’s only hope of filling the deficit without panic. Export the required Neon Gas in secret. We cannot allow any competitors or other employees to realize what we are doing. | signature = Dirty Neon }} ====Afterword==== {{blockquote | text = Wonderful. The Neon Gas is on the way. I’ve hidden the shipment as yet another load of Furniture. Please keep this our little secret. | signature = {{Signature-saito-1}} }} 53668ad3420702185b8c24c194b3f1a357f3d815 765 764 2024-01-30T20:41:04Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Waste Not; Want More |number = 13 |prevMissions = * [[Downletting Upholsteries]] * [[Good Buys Forever]] |nextMissions = * [[]] * [[]] * [[]] |biome = Temperate |money = 17000 |objectives = {{!}}Dirty Neon{{!}}{{!}}Export 168 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refiner - Level 3 * 1x Incinerator - Level 3 * 1x Incinerator - Level 0 * 1x Coal Gassifier - Level 2 * 1x Coal Gassifier - Level 1 * 1x Coal Gassifier - Level 0 * 1x Coal Powerplant * 4x Coal Mine - Level 2 * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Region Unlocks== Upon Mission Completion * Incinerator Industry * Coal Gassifier Industry ==Transcript== ====Preamble==== {{blockquote | text = Thankfully my meetings are all cancelled. They were a waste of time. The board was not respecting my experience. I’ll be blunt: Nakatani Chemicals needs us. Do not tell anyone else but they are in dire need of more Neon Gas. An alert on my terminal gave away the secret; even our neon billboards are running low. This Coal-only region is not ideal. Oil would be better. We have no choice. You must make do with Coal-derived Neon Gas. Not easy or cheap, but it will let you generate Neon Gas in regions without Oil. Like this one. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Byproducts are a challenging aspect of alternative production chains. While Coal Gasifiers produce Reactive from Coal what cannot be liquefied comes out as Waste. In secret Nakatani Chemicals has run a massive Neon Gas deficiency. It is lucky Saito noticed. This region, and your task, is Nakatani’s only hope of filling the deficit without panic. Export the required Neon Gas in secret. We cannot allow any competitors or other employees to realize what we are doing. | signature = Dirty Neon }} ====Afterword==== {{blockquote | text = Wonderful. The Neon Gas is on the way. I’ve hidden the shipment as yet another load of Furniture. Please keep this our little secret. | signature = {{Signature-saito-1}} }} 0af5d4a57fc9c7e647e1679c6612295a6bb75e84 766 765 2024-01-30T20:41:45Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Waste Not; Want More |number = 13 |prevMissions = * [[Downletting Upholsteries]] * [[Good Buys Forever]] |nextMissions = * [[Runaway Train]] * [[Aggressive Zoning]] * [[For the Greater Good]] |biome = Temperate |money = 17000 |objectives = {{!}}Dirty Neon{{!}}{{!}}Export 168 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refiner - Level 3 * 1x Incinerator - Level 3 * 1x Incinerator - Level 0 * 1x Coal Gassifier - Level 2 * 1x Coal Gassifier - Level 1 * 1x Coal Gassifier - Level 0 * 1x Coal Powerplant * 4x Coal Mine - Level 2 * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Region Unlocks== Upon Mission Completion * Incinerator Industry * Coal Gassifier Industry ==Transcript== ====Preamble==== {{blockquote | text = Thankfully my meetings are all cancelled. They were a waste of time. The board was not respecting my experience. I’ll be blunt: Nakatani Chemicals needs us. Do not tell anyone else but they are in dire need of more Neon Gas. An alert on my terminal gave away the secret; even our neon billboards are running low. This Coal-only region is not ideal. Oil would be better. We have no choice. You must make do with Coal-derived Neon Gas. Not easy or cheap, but it will let you generate Neon Gas in regions without Oil. Like this one. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Byproducts are a challenging aspect of alternative production chains. While Coal Gasifiers produce Reactive from Coal what cannot be liquefied comes out as Waste. In secret Nakatani Chemicals has run a massive Neon Gas deficiency. It is lucky Saito noticed. This region, and your task, is Nakatani’s only hope of filling the deficit without panic. Export the required Neon Gas in secret. We cannot allow any competitors or other employees to realize what we are doing. | signature = Dirty Neon }} ====Afterword==== {{blockquote | text = Wonderful. The Neon Gas is on the way. I’ve hidden the shipment as yet another load of Furniture. Please keep this our little secret. | signature = {{Signature-saito-1}} }} 901d6403b4fcc966aea18f7b83c14e31e0665f94 768 766 2024-01-30T20:47:40Z Hiroteashi 379511 Hiroteashi moved page [[Waste Not; Want more]] to [[Waste Not; Want More]] without leaving a redirect wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Waste Not; Want More |number = 13 |prevMissions = * [[Downletting Upholsteries]] * [[Good Buys Forever]] |nextMissions = * [[Runaway Train]] * [[Aggressive Zoning]] * [[For the Greater Good]] |biome = Temperate |money = 17000 |objectives = {{!}}Dirty Neon{{!}}{{!}}Export 168 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refiner - Level 3 * 1x Incinerator - Level 3 * 1x Incinerator - Level 0 * 1x Coal Gassifier - Level 2 * 1x Coal Gassifier - Level 1 * 1x Coal Gassifier - Level 0 * 1x Coal Powerplant * 4x Coal Mine - Level 2 * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Region Unlocks== Upon Mission Completion * Incinerator Industry * Coal Gassifier Industry ==Transcript== ====Preamble==== {{blockquote | text = Thankfully my meetings are all cancelled. They were a waste of time. The board was not respecting my experience. I’ll be blunt: Nakatani Chemicals needs us. Do not tell anyone else but they are in dire need of more Neon Gas. An alert on my terminal gave away the secret; even our neon billboards are running low. This Coal-only region is not ideal. Oil would be better. We have no choice. You must make do with Coal-derived Neon Gas. Not easy or cheap, but it will let you generate Neon Gas in regions without Oil. Like this one. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Byproducts are a challenging aspect of alternative production chains. While Coal Gasifiers produce Reactive from Coal what cannot be liquefied comes out as Waste. In secret Nakatani Chemicals has run a massive Neon Gas deficiency. It is lucky Saito noticed. This region, and your task, is Nakatani’s only hope of filling the deficit without panic. Export the required Neon Gas in secret. We cannot allow any competitors or other employees to realize what we are doing. | signature = Dirty Neon }} ====Afterword==== {{blockquote | text = Wonderful. The Neon Gas is on the way. I’ve hidden the shipment as yet another load of Furniture. Please keep this our little secret. | signature = {{Signature-saito-1}} }} 901d6403b4fcc966aea18f7b83c14e31e0665f94 Aggressive Zoning 0 263 767 2024-01-30T20:46:23Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Aggressive Zoning |number = 13 Bonus A |prevMissions = [[Waste Not; Want More]] |biome = Temperate |money = 7000 |objectives = {{!}}Itty Bitty Living Space{{!}}{{!}}Reach 352 Population in quest City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Electronics Fab - Level 2 * 1x Coal Powerplant - Level 2 * 4x Wire Coiler * 2..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Aggressive Zoning |number = 13 Bonus A |prevMissions = [[Waste Not; Want More]] |biome = Temperate |money = 7000 |objectives = {{!}}Itty Bitty Living Space{{!}}{{!}}Reach 352 Population in quest City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Electronics Fab - Level 2 * 1x Coal Powerplant - Level 2 * 4x Wire Coiler * 2x Coal Mine - Level 2 * 1x Silica Quarry - Level 1 * 3x Copper Mine * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Steam Vent ==Transcript== ====Objective Text==== {{blockquote | text = Terraformation did not go as planned in this region. The resulting size limitations mean your task to grow the city requires careful packing. To help, several industries have received upgrades. Balance your limited space between railway construction, new industries, and stations. | signature = Itty Bitty Living Space }} 03fa9e2531099bd4aa177fea722421f1f79c708b For the Greater Good 0 264 769 2024-01-30T20:52:00Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = For the Greater Good |number = 13 Bonus B |prevMissions = [[Waste Not; Want More]] |biome = Desert |money = 17000 |objectives = {{!}}Good Enough for the Masses{{!}}{{!}}Export an average of 32 Appliances at quest Zeppelin Dock |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 3x Worker Housing * Bank * Accountancy * Vou..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = For the Greater Good |number = 13 Bonus B |prevMissions = [[Waste Not; Want More]] |biome = Desert |money = 17000 |objectives = {{!}}Good Enough for the Masses{{!}}{{!}}Export an average of 32 Appliances at quest Zeppelin Dock |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 3x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Iron Vein * Coal Vein * Copper Vein * Silica Deposit * Water Spring * Steam Vent ==Transcript== ====Objective Text==== {{blockquote | text = Homes need Appliances. Earth has many homes and no Appliances production. Your task is to feed Earth’s never satisfied Appliances demand. If needed, consider licensing the Electronics Fab from the Voucher Exchange. | signature = Good Enough for the Masses }} 6d9759a7ed95125abd9351cf5a32cde21f2fbcec 770 769 2024-01-30T20:52:30Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = For the Greater Good |number = 13 Bonus B |prevMissions = [[Waste Not; Want More]] |biome = Desert |money = 17000 |objectives = {{!}}Good Enough for the Masses{{!}}{{!}}Export an average of 32 Appliance per minute at quest Zeppelin Dock |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 3x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Iron Vein * Coal Vein * Copper Vein * Silica Deposit * Water Spring * Steam Vent ==Transcript== ====Objective Text==== {{blockquote | text = Homes need Appliances. Earth has many homes and no Appliances production. Your task is to feed Earth’s never satisfied Appliances demand. If needed, consider licensing the Electronics Fab from the Voucher Exchange. | signature = Good Enough for the Masses }} 71f496b1b3135dfec9e6256e00bdd574d34e7dea Runaway Train 0 265 771 2024-01-30T21:01:26Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Runaway Train |number = 14 |prevMissions = [[Waste Not; Want More]] |nextMissions = [[]] |biome = Savannah |money = 7000 |objectives = {{!}}Maximal Performance Indicated{{!}}{{!}}Export 4 Energy at Quest Zeppelin Dock |partimeM = 10 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Geothermal * Voucher Exchange ==Region Unlocks==..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Runaway Train |number = 14 |prevMissions = [[Waste Not; Want More]] |nextMissions = [[]] |biome = Savannah |money = 7000 |objectives = {{!}}Maximal Performance Indicated{{!}}{{!}}Export 4 Energy at Quest Zeppelin Dock |partimeM = 10 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Geothermal * Voucher Exchange ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = The board started asking about “train mileage to trackage”. Their message calls it a “key performance indicator meant to show efficiently in track usage”. All other indicators are green, except this one is red! This is bad. We must greenify that red! I’ve rerouted performance monitoring to this remote region, towards this directive. My terminal says the train is stuck and not reaching the destination. Can you fix it? The track was auto generated so it might not be optimal. Remember: do not build new trains. We need to maximize the distance traveled per train. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Your task is to navigate this maze of auto generated tracks. Don’t panic if the train takes a wrong turn, that too boosts the Train Mileage indicator. Please avoid suspicion by delivering the Energy in reasonable time. | signature = Maximal Performance Indicated }} ====Afterword==== {{blockquote | text = All green! The board must be ecstatic. They should highlight these green indicators in the next quarterly report! I am so happy. Nothing could ruin my mood! | signature = {{Signature-saito-1}} }} e3182aeb424fc34e51ea29c2aab76411f3bc28cb 772 771 2024-01-30T21:01:44Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Runaway Train |number = 14 |prevMissions = [[Waste Not; Want More]] |nextMissions = [[Space Park]] |biome = Savannah |money = 7000 |objectives = {{!}}Maximal Performance Indicated{{!}}{{!}}Export 4 Energy at Quest Zeppelin Dock |partimeM = 10 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Geothermal * Voucher Exchange ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = The board started asking about “train mileage to trackage”. Their message calls it a “key performance indicator meant to show efficiently in track usage”. All other indicators are green, except this one is red! This is bad. We must greenify that red! I’ve rerouted performance monitoring to this remote region, towards this directive. My terminal says the train is stuck and not reaching the destination. Can you fix it? The track was auto generated so it might not be optimal. Remember: do not build new trains. We need to maximize the distance traveled per train. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Your task is to navigate this maze of auto generated tracks. Don’t panic if the train takes a wrong turn, that too boosts the Train Mileage indicator. Please avoid suspicion by delivering the Energy in reasonable time. | signature = Maximal Performance Indicated }} ====Afterword==== {{blockquote | text = All green! The board must be ecstatic. They should highlight these green indicators in the next quarterly report! I am so happy. Nothing could ruin my mood! | signature = {{Signature-saito-1}} }} 63c2be2a2e74560a5ef8c6b79826603c4f4c58b8 773 772 2024-01-30T21:01:58Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Runaway Train |number = 14 |prevMissions = [[Waste Not; Want More]] |nextMissions = [[Space Park]] |biome = Savannah |money = 7000 |objectives = {{!}}Maximal Performance Indicated{{!}}{{!}}Export 4 Energy at Quest Zeppelin Dock |partimeM = 10 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Geothermal * Voucher Exchange ==Transcript== ====Preamble==== {{blockquote | text = The board started asking about “train mileage to trackage”. Their message calls it a “key performance indicator meant to show efficiently in track usage”. All other indicators are green, except this one is red! This is bad. We must greenify that red! I’ve rerouted performance monitoring to this remote region, towards this directive. My terminal says the train is stuck and not reaching the destination. Can you fix it? The track was auto generated so it might not be optimal. Remember: do not build new trains. We need to maximize the distance traveled per train. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Your task is to navigate this maze of auto generated tracks. Don’t panic if the train takes a wrong turn, that too boosts the Train Mileage indicator. Please avoid suspicion by delivering the Energy in reasonable time. | signature = Maximal Performance Indicated }} ====Afterword==== {{blockquote | text = All green! The board must be ecstatic. They should highlight these green indicators in the next quarterly report! I am so happy. Nothing could ruin my mood! | signature = {{Signature-saito-1}} }} 424361adbcc81ae0c2f395380423f93e76455f25 Space Park 0 266 774 2024-01-30T21:09:01Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Space Park |number = 15 |prevMissions = [[Runaway Train]] |nextMissions = [[CO2 WARNING]] |biome = Boreal |money = 29000 |objectives = {{!}}Construct Nakatani's Rollercoaster{{!}}{{!}}Deliver 100% of required building materials to the Rollercoaster Park |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Rollercoaster Park]] (Quest Structure) * 1x Zeppelin..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Space Park |number = 15 |prevMissions = [[Runaway Train]] |nextMissions = [[CO2 WARNING]] |biome = Boreal |money = 29000 |objectives = {{!}}Construct Nakatani's Rollercoaster{{!}}{{!}}Deliver 100% of required building materials to the Rollercoaster Park |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Rollercoaster Park]] (Quest Structure) * 1x Zeppelin Dock * 2x Tool Die * 2x Plasticizer * 2x Concrete Yard * 3x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Silica Deposits * Water Springs * Oil Patches * Iron Veins * Coal Veins * Steam Vents ==Region Unlocks== Upon Mission Completion * Tool Die Industry ==Transcript== ====Preamble==== {{blockquote | text = I heard a nasty rumour today. Someone said Nakatani Chemicals is considering selling our colony. The rumoured buyer will take over our entire department! Nakatani is my career! I cannot imagine life without it! Even worse: You would be permanently transferred to live on the colony. Forever! We need to do something big and make Mr. Nakatani see we are a really useful colony. I heard he signed a roller coaster expansion project but the Real Estate Division cannot find a location. Let’s build that theme park! It would be a personal favour to Mr. Nakatani himself. | signature = {{Signature-Saito-1}} }} ====Objective Text==== {{blockquote | text = Construct the Roller Coaster Mega Project and save Nakatani’s contract! Mega Projects require vast volumes of resources to complete. Start by producing the simpler yet higher volume production chains like Concrete. Use the resulting cash flows to invest and develop the more complex Widgets and Steel chains. | signature = Construct Nakatani's Rollercoaster }} ====Afterword==== {{blockquote | text = Good job - Mr. Nakatani was very impressed that we solved his contract problem. He thanked you by name. He even sent premium melons! I don’t think the melons will survive the long space travel, so I’ll eat them for you. After all, it would be a shame to waste such nice fruit. Unrelated, but a literal ton of coffee was ordered under your colony’s budget. The terminal says the order never left Earth. I’m sure this order was a mistake; but, if not, please don’t order more - real coffee is expensive. Just drink synthetic coffee, it is good enough. | signature = {{Signature-saito-1}} }} 6a6219e26d823b1f79d83239dc10f2203bf6b137 780 774 2024-01-30T21:24:23Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Space Park |number = 15 |prevMissions = * [[Runaway Train]] |nextMissions = * [[CO2 WARNING]] * [[Extra Tooling]] |biome = Boreal |money = 29000 |objectives = {{!}}Construct Nakatani's Rollercoaster{{!}}{{!}}Deliver 100% of required building materials to the Rollercoaster Park |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Rollercoaster Park]] (Quest Structure) * 1x Zeppelin Dock * 2x Tool Die * 2x Plasticizer * 2x Concrete Yard * 3x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Silica Deposits * Water Springs * Oil Patches * Iron Veins * Coal Veins * Steam Vents ==Region Unlocks== Upon Mission Completion * Tool Die Industry ==Transcript== ====Preamble==== {{blockquote | text = I heard a nasty rumour today. Someone said Nakatani Chemicals is considering selling our colony. The rumoured buyer will take over our entire department! Nakatani is my career! I cannot imagine life without it! Even worse: You would be permanently transferred to live on the colony. Forever! We need to do something big and make Mr. Nakatani see we are a really useful colony. I heard he signed a roller coaster expansion project but the Real Estate Division cannot find a location. Let’s build that theme park! It would be a personal favour to Mr. Nakatani himself. | signature = {{Signature-Saito-1}} }} ====Objective Text==== {{blockquote | text = Construct the Roller Coaster Mega Project and save Nakatani’s contract! Mega Projects require vast volumes of resources to complete. Start by producing the simpler yet higher volume production chains like Concrete. Use the resulting cash flows to invest and develop the more complex Widgets and Steel chains. | signature = Construct Nakatani's Rollercoaster }} ====Afterword==== {{blockquote | text = Good job - Mr. Nakatani was very impressed that we solved his contract problem. He thanked you by name. He even sent premium melons! I don’t think the melons will survive the long space travel, so I’ll eat them for you. After all, it would be a shame to waste such nice fruit. Unrelated, but a literal ton of coffee was ordered under your colony’s budget. The terminal says the order never left Earth. I’m sure this order was a mistake; but, if not, please don’t order more - real coffee is expensive. Just drink synthetic coffee, it is good enough. | signature = {{Signature-saito-1}} }} 20b4d80dd65270b6b06d87582bf8016a53dda66b CO2 WARNING 0 267 775 2024-01-30T21:15:20Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING |number = 16 |prevMissions = * [[Space Park]] |nextMissions = * [[CO2 WARNING REDUX]] * [[Luxurious Vistas]] |biome = Boreal |money = 17000 |objectives = {{!}}URGENT CO2 WARNING!{{!}}{{!}}Export 824 Energy at quest Zeppelin Dock |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 1x Coal Po..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING |number = 16 |prevMissions = * [[Space Park]] |nextMissions = * [[CO2 WARNING REDUX]] * [[Luxurious Vistas]] |biome = Boreal |money = 17000 |objectives = {{!}}URGENT CO2 WARNING!{{!}}{{!}}Export 824 Energy at quest Zeppelin Dock |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 1x Coal Powerplant * 3x Coal Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = Remote monitors indicate your colony is failing to emit agreed CO2 levels. Pursuant to our Glommer Process Number 3 contract you must increase CO2 emissions. Failure to increase emissions will render the maintenance contract void. Should this happen, your colony will return to the ice planet from which it was terraformed. Please at minimum implement the included emissions plans. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Maintain the colony’s terraformation warranty by burning large quantities of Coal and Oil. Dispose of the Energy by Export. Do not worry about the Energy market balance; the environment takes priority. | signature = URGENT CO2 WARNING! }} ====Afterword==== {{blockquote | text = Jeff here again. Good job saving the planet - It’s scandalous that Saito allowed the CO2 levels to get so low. Rumours are even spreading that Saito cheated on his key performance indicators! Something must be done to stop him - if he reduces the colony’s value any more, you’ll probably get caught in the crossfire from the board. I’m sneaking you a license file for the SPARK ENGINE. I found it lost in Saito’s pile of paperwork. Check the voucher shop. | signature = {{Signature-jeff-1}} }} ac8667bd84027e8e506c6cc05df0e2ddd7066a2a 776 775 2024-01-30T21:15:56Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING |number = 16 |prevMissions = * [[Space Park]] |nextMissions = * [[CO2 WARNING REDUX]] * [[Luxurious Vistas]] |biome = Boreal |money = 17000 |objectives = {{!}}URGENT CO2 WARNING!{{!}}{{!}}Export 824 Energy at quest Zeppelin Dock |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 1x Coal Powerplant * 3x Coal Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Region Unlocks== Upon Mission Completion * Spark Engine Unlock for purchase ==Transcript== ====Preamble==== {{blockquote | text = Remote monitors indicate your colony is failing to emit agreed CO2 levels. Pursuant to our Glommer Process Number 3 contract you must increase CO2 emissions. Failure to increase emissions will render the maintenance contract void. Should this happen, your colony will return to the ice planet from which it was terraformed. Please at minimum implement the included emissions plans. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Maintain the colony’s terraformation warranty by burning large quantities of Coal and Oil. Dispose of the Energy by Export. Do not worry about the Energy market balance; the environment takes priority. | signature = URGENT CO2 WARNING! }} ====Afterword==== {{blockquote | text = Jeff here again. Good job saving the planet - It’s scandalous that Saito allowed the CO2 levels to get so low. Rumours are even spreading that Saito cheated on his key performance indicators! Something must be done to stop him - if he reduces the colony’s value any more, you’ll probably get caught in the crossfire from the board. I’m sneaking you a license file for the SPARK ENGINE. I found it lost in Saito’s pile of paperwork. Check the voucher shop. | signature = {{Signature-jeff-1}} }} a703d68f4567d2dec75b75941e8151fbc68717e5 777 776 2024-01-30T21:16:24Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING |number = 16 |prevMissions = * [[Space Park]] |nextMissions = * [[Luxurious Vistas]] * [[CO2 WARNING REDUX]] |biome = Boreal |money = 17000 |objectives = {{!}}URGENT CO2 WARNING!{{!}}{{!}}Export 824 Energy at quest Zeppelin Dock |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 1x Coal Powerplant * 3x Coal Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Region Unlocks== Upon Mission Completion * Spark Engine Unlock for purchase ==Transcript== ====Preamble==== {{blockquote | text = Remote monitors indicate your colony is failing to emit agreed CO2 levels. Pursuant to our Glommer Process Number 3 contract you must increase CO2 emissions. Failure to increase emissions will render the maintenance contract void. Should this happen, your colony will return to the ice planet from which it was terraformed. Please at minimum implement the included emissions plans. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Maintain the colony’s terraformation warranty by burning large quantities of Coal and Oil. Dispose of the Energy by Export. Do not worry about the Energy market balance; the environment takes priority. | signature = URGENT CO2 WARNING! }} ====Afterword==== {{blockquote | text = Jeff here again. Good job saving the planet - It’s scandalous that Saito allowed the CO2 levels to get so low. Rumours are even spreading that Saito cheated on his key performance indicators! Something must be done to stop him - if he reduces the colony’s value any more, you’ll probably get caught in the crossfire from the board. I’m sneaking you a license file for the SPARK ENGINE. I found it lost in Saito’s pile of paperwork. Check the voucher shop. | signature = {{Signature-jeff-1}} }} 700adae580356997b9c8c39e2ad8ab063f0eadb8 779 777 2024-01-30T21:23:57Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING |number = 16 |prevMissions = * [[Space Park]] |nextMissions = * [[Luxurious Vistas]] * [[CO2 WARNING REDUX]] * [[No Distance Too Far]] |biome = Boreal |money = 17000 |objectives = {{!}}URGENT CO2 WARNING!{{!}}{{!}}Export 824 Energy at quest Zeppelin Dock |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Oil Powerplant * 1x Coal Powerplant * 3x Coal Mine * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Region Unlocks== Upon Mission Completion * Spark Engine Unlock for purchase ==Transcript== ====Preamble==== {{blockquote | text = Remote monitors indicate your colony is failing to emit agreed CO2 levels. Pursuant to our Glommer Process Number 3 contract you must increase CO2 emissions. Failure to increase emissions will render the maintenance contract void. Should this happen, your colony will return to the ice planet from which it was terraformed. Please at minimum implement the included emissions plans. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Maintain the colony’s terraformation warranty by burning large quantities of Coal and Oil. Dispose of the Energy by Export. Do not worry about the Energy market balance; the environment takes priority. | signature = URGENT CO2 WARNING! }} ====Afterword==== {{blockquote | text = Jeff here again. Good job saving the planet - It’s scandalous that Saito allowed the CO2 levels to get so low. Rumours are even spreading that Saito cheated on his key performance indicators! Something must be done to stop him - if he reduces the colony’s value any more, you’ll probably get caught in the crossfire from the board. I’m sneaking you a license file for the SPARK ENGINE. I found it lost in Saito’s pile of paperwork. Check the voucher shop. | signature = {{Signature-jeff-1}} }} ec3db0affaaa6729a9298b2cf6d2dc647b7408bd CO2 WARNING REDUX 0 268 778 2024-01-30T21:21:32Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING REDUX |number = 16 Bonus A |prevMissions = [[CO2 WARNING]] |biome = Boreal |money = 17000 |objectives = {{!}}CO2 WARNING. Not Urgent.{{!}}{{!}Export 1024 Energy at quest Zeppelin Dock |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Coal Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes P..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING REDUX |number = 16 Bonus A |prevMissions = [[CO2 WARNING]] |biome = Boreal |money = 17000 |objectives = {{!}}CO2 WARNING. Not Urgent.{{!}}{{!}Export 1024 Energy at quest Zeppelin Dock |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Coal Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = You have reached the basic requirements for warranty validity. In the interest of reducing future warranty claims we have included an extra emissions improvement plan. This addition is not contractually required, but will increase your colony’s average temperature and overall habitability. Refusal to implement this additional will be noted and may impact future warranty claims. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Your colony’s terraformation warranty is safe but further burning will improve the global temperature. Your task is to burn the high coal density in this region and shore up the colony’s environment. | signature = CO2 WARNING. Not Urgent. }} ====Afterword==== {{blockquote | text = | signature = {{Signature-}} }} 64590b221012a72988e40388a0de318fa9ba6bda 781 778 2024-01-30T21:28:10Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING REDUX |number = 16 Bonus A |prevMissions = [[CO2 WARNING]] |biome = |money = |objectives = {{!}}asdf{{!}}{{!}}Produce x at quest y |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Coal Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = You have reached the basic requirements for warranty validity. In the interest of reducing future warranty claims we have included an extra emissions improvement plan. This addition is not contractually required, but will increase your colony’s average temperature and overall habitability. Refusal to implement this additional will be noted and may impact future warranty claims. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Your colony’s terraformation warranty is safe but further burning will improve the global temperature. Your task is to burn the high coal density in this region and shore up the colony’s environment. | signature = CO2 WARNING. Not Urgent. }} 6613afd72a8dfd23f45d3fbfa0fd78d712062475 782 781 2024-01-30T21:28:31Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING REDUX |number = 16 Bonus A |prevMissions = [[CO2 WARNING]] |biome = Boreal |money = 17000 |objectives = {{!}}CO2 WARNING. Not Urgent.{{!}}{{!}Export 1024 Energy at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Coal Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = You have reached the basic requirements for warranty validity. In the interest of reducing future warranty claims we have included an extra emissions improvement plan. This addition is not contractually required, but will increase your colony’s average temperature and overall habitability. Refusal to implement this additional will be noted and may impact future warranty claims. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Your colony’s terraformation warranty is safe but further burning will improve the global temperature. Your task is to burn the high coal density in this region and shore up the colony’s environment. | signature = CO2 WARNING. Not Urgent. }} 6ac79e1205e184db5b531f8d67f0f5f8a29b2231 783 782 2024-01-30T21:28:58Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING REDUX |number = 16 Bonus A |prevMissions = [[CO2 WARNING]] |biome = Boreal |money = 17000 |objectives = {{!}}CO2 WARNING. Not Urgent.{{!}}{{!}}Export 1024 Energy at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Coal Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = You have reached the basic requirements for warranty validity. In the interest of reducing future warranty claims we have included an extra emissions improvement plan. This addition is not contractually required, but will increase your colony’s average temperature and overall habitability. Refusal to implement this additional will be noted and may impact future warranty claims. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Your colony’s terraformation warranty is safe but further burning will improve the global temperature. Your task is to burn the high coal density in this region and shore up the colony’s environment. | signature = CO2 WARNING. Not Urgent. }} 0629ef7f1e4cb2a8016c851145d1874df2c2e6be 784 783 2024-01-30T21:29:22Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING REDUX |number = 16 Bonus A |prevMissions = [[CO2 WARNING]] |biome = Boreal |money = 17000 |objectives = {{!}}CO2 WARNING. Not Urgent.{{!}}{{!}}Export 1024 Energy at quest Zeppelin Dock |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * Coal Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = You have reached the basic requirements for warranty validity. In the interest of reducing future warranty claims we have included an extra emissions improvement plan. This addition is not contractually required, but will increase your colony’s average temperature and overall habitability. Refusal to implement this additional will be noted and may impact future warranty claims. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Your colony’s terraformation warranty is safe but further burning will improve the global temperature. Your task is to burn the high coal density in this region and shore up the colony’s environment. | signature = CO2 WARNING. Not Urgent. }} cad97fcd7a52182391573801b29972b8019c9640 Extra Tooling 0 269 785 2024-01-30T21:33:11Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Extra Tooling |number = 15 Bonus |prevMissions = [[Space Park]] |biome = Boreal |money = 17000 |objectives = {{!}}Widget Deliveries{{!}}{{!}}Export 512 Widgets at quest Zeppelin Dock |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Oil Powerplant - Level 3 * 2x Furniture Assembler * 1x City * Bank * Accountancy * Vo..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Extra Tooling |number = 15 Bonus |prevMissions = [[Space Park]] |biome = Boreal |money = 17000 |objectives = {{!}}Widget Deliveries{{!}}{{!}}Export 512 Widgets at quest Zeppelin Dock |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Oil Powerplant - Level 3 * 2x Furniture Assembler * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Widget supply is getting mismatched. Your task is to develop this region into a Widget stamping powerhouse. Use either Oil or Coal to produce your Plastics. Grow the region’s city to work your factories. | signature = Widget Deliveries }} aee549714c4921f596aa14de4d4983b32fef1d8a No Distance Too Far 0 270 786 2024-01-30T21:38:23Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = No Distance Too Far |number = 16 Bonus B |prevMissions = [[CO2 WARNING]] |biome = Tundra |money = 7000 |objectives = {{!}}Raking the Coals{{!}}{{!}}Export 1024 Coal at the quest Zeppelin Dock |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Signworks * 2x Incinerator * 2x Coal Gassifier * 1x Coal Powerplant * 1x Neon..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = No Distance Too Far |number = 16 Bonus B |prevMissions = [[CO2 WARNING]] |biome = Tundra |money = 7000 |objectives = {{!}}Raking the Coals{{!}}{{!}}Export 1024 Coal at the quest Zeppelin Dock |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Signworks * 2x Incinerator * 2x Coal Gassifier * 1x Coal Powerplant * 1x Neon Refinery * 1x Glass Smelter * 6x Coal Mine * 3x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Due to adverse wind conditions, the Zeppelin Docks are far from the Coal mines. Exporting the required massive Coal volumes will require extra cashflow the low profit Coal cannot provide. Instead consider operating the more profitable Signworks chain to generate cash. | signature = Raking the Coals }} 7665cdbc2e0f53aff3afb80d9079b3876e4c1469 Luxurious Vistas 0 271 787 2024-01-30T21:46:16Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Luxurious Vistas |number = 17 |prevMissions = * [[CO2 WARNING]] |nextMissions = * [[The Interchange]] * Capital Renewal |biome = Boreal |money = 29000 |objectives = {{!}}Tilted Towers{{!}}{{!}}Deliver 32 Luxury Rooms to quest City |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure)s * 3x Salt Refinery * 2x Hullyard - Level 2 * 2x Lux..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Luxurious Vistas |number = 17 |prevMissions = * [[CO2 WARNING]] |nextMissions = * [[The Interchange]] * Capital Renewal |biome = Boreal |money = 29000 |objectives = {{!}}Tilted Towers{{!}}{{!}}Deliver 32 Luxury Rooms to quest City |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure)s * 3x Salt Refinery * 2x Hullyard - Level 2 * 2x Luxury Assembler * 1x Oil Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Hullyard Industry Upon Mission Completion * Luxury Assembler Industry ==Transcript== ====Preamble==== {{blockquote | text = Corporate just sent over an odd order, they want a nature-centric city development. A city fit for Nakatani Employees no less. Who’s planning to live there!? I mean besides yourself of course. No matter, you cannot argue with corporate. They are requesting you start Luxury Room production pronto. You’ve even been given a license for concrete 10 height capable track supports." | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Pristine nature: the perfect location for luxury development. Corporate has requested rapid city development with accessible views of the natural spires. Their instructions put special emphasis on Luxury. Grow the City to at Level 2 so you can deliver their Luxury Rooms requirement. | signature = Tilted Towers }} 363ba35cf082046bb81af60a5bad86ddbf1308ed 788 787 2024-01-30T21:46:27Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Luxurious Vistas |number = 17 |prevMissions = * [[CO2 WARNING]] |nextMissions = * [[The Interchange]] * [[Capital Renewal]] |biome = Boreal |money = 29000 |objectives = {{!}}Tilted Towers{{!}}{{!}}Deliver 32 Luxury Rooms to quest City |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure)s * 3x Salt Refinery * 2x Hullyard - Level 2 * 2x Luxury Assembler * 1x Oil Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Hullyard Industry Upon Mission Completion * Luxury Assembler Industry ==Transcript== ====Preamble==== {{blockquote | text = Corporate just sent over an odd order, they want a nature-centric city development. A city fit for Nakatani Employees no less. Who’s planning to live there!? I mean besides yourself of course. No matter, you cannot argue with corporate. They are requesting you start Luxury Room production pronto. You’ve even been given a license for concrete 10 height capable track supports." | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Pristine nature: the perfect location for luxury development. Corporate has requested rapid city development with accessible views of the natural spires. Their instructions put special emphasis on Luxury. Grow the City to at Level 2 so you can deliver their Luxury Rooms requirement. | signature = Tilted Towers }} 58e2dc1926f6ea3d88c780788aee023a8ac82ef0 789 788 2024-01-30T21:46:37Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Luxurious Vistas |number = 17 |prevMissions = * [[CO2 WARNING]] |nextMissions = * [[The Interchange]] * [[Capital Renewal]] |biome = Boreal |money = 29000 |objectives = {{!}}Tilted Towers{{!}}{{!}}Deliver 32 Luxury Rooms to quest City |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x Salt Refinery * 2x Hullyard - Level 2 * 2x Luxury Assembler * 1x Oil Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Hullyard Industry Upon Mission Completion * Luxury Assembler Industry ==Transcript== ====Preamble==== {{blockquote | text = Corporate just sent over an odd order, they want a nature-centric city development. A city fit for Nakatani Employees no less. Who’s planning to live there!? I mean besides yourself of course. No matter, you cannot argue with corporate. They are requesting you start Luxury Room production pronto. You’ve even been given a license for concrete 10 height capable track supports." | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Pristine nature: the perfect location for luxury development. Corporate has requested rapid city development with accessible views of the natural spires. Their instructions put special emphasis on Luxury. Grow the City to at Level 2 so you can deliver their Luxury Rooms requirement. | signature = Tilted Towers }} 067b6158d762ac0f556107d1e25d96aef0c37cf8 791 789 2024-01-30T21:52:36Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Luxurious Vistas |number = 17 |prevMissions = * [[CO2 WARNING]] |nextMissions = * [[The Interchange]] * [[Capital Renewal]] |biome = Boreal |money = 29000 |objectives = {{!}}Tilted Towers{{!}}{{!}}Deliver 32 Luxury Rooms to quest City |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x Salt Refinery * 2x Hullyard - Level 2 * 2x Luxury Assembler * 1x Oil Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Hullyard Industry Upon Mission Completion * Luxury Assembler Industry * Rescue Engine Purchase Unlock ==Transcript== ====Preamble==== {{blockquote | text = Corporate just sent over an odd order, they want a nature-centric city development. A city fit for Nakatani Employees no less. Who’s planning to live there!? I mean besides yourself of course. No matter, you cannot argue with corporate. They are requesting you start Luxury Room production pronto. You’ve even been given a license for concrete 10 height capable track supports." | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Pristine nature: the perfect location for luxury development. Corporate has requested rapid city development with accessible views of the natural spires. Their instructions put special emphasis on Luxury. Grow the City to at Level 2 so you can deliver their Luxury Rooms requirement. | signature = Tilted Towers }} 9b7a83420388d7a6b1bec4d250be0f3785496756 Capital Renewal 0 272 790 2024-01-30T21:52:11Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Capital Renewal |number = 17 Bonus |prevMissions = [[Luxurious Vistas]] |biome = Boreal |money = 47000 |objectives = {{!}}Capital Idea{{!}}{{!}}Reach 1024 Population at quest City |partimeH = 25|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Zeppelin Dock * 1x Water Pump - Level 3 * Bank * Accountancy * Voucher Exchange Re..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Capital Renewal |number = 17 Bonus |prevMissions = [[Luxurious Vistas]] |biome = Boreal |money = 47000 |objectives = {{!}}Capital Idea{{!}}{{!}}Reach 1024 Population at quest City |partimeH = 25|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Zeppelin Dock * 1x Water Pump - Level 3 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = By Earth dictated policy, all colonies must have a designated capital where workers may bring complaints or contract disputes. The existing colony capital’s location is too convenient. Too many workers are lodging disputes. Build out this new city to Level 4 so it can be marked as the capital. As a remote region, it will reduce the volume of disputes delivered. | signature = Capital Idea }} 66b3e599987bb019b3c97887d8b524c6b3016424 The Interchange 0 273 792 2024-01-31T13:44:47Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = The Interchange |number = 18 |prevMissions = [[Luxurious Vistas]] |nextMissions = [[]] |biome = Desert |money = 50000 |objectives = {{!}}N Over Zero{{!}}{{!}}Export 256 Appliances at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 3x Electronic Fab * 9x Wire Coiler * 3x Incinerator * 1x C..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = The Interchange |number = 18 |prevMissions = [[Luxurious Vistas]] |nextMissions = [[]] |biome = Desert |money = 50000 |objectives = {{!}}N Over Zero{{!}}{{!}}Export 256 Appliances at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 3x Electronic Fab * 9x Wire Coiler * 3x Incinerator * 1x Coal Powerplant * 1x Oil Powerplant * 4x Oil Well * 4x Coal Mine * 4x Copper Mine * 3x Silica Quarry * 3x Water Pump * Bank * Accountancy * Voucher Exchange ==Region Unlocks== Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = The board wants a new Key Performance Indicator: Train over track capital utilization. I am getting tired of this management by numbers. You did real meaningful work and all the board wants to hear is abstract, easy to measure metrics. They want to see minimal investment into track and maximal train buying. I’ve built you a region with tons of existing tracks. After I reset the track builder reporting you can buy trains. Get the region running and finish the completion requirements. Now is our chance to break their report generation server: divide by zero. Zero track built. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = With all possible routes prebuilt and track built count reset, you need to only build trains. Plan and operate a thriving economy while keeping the track build count at zero. | signature = N Over Zero }} ====Afterword==== {{blockquote | text = Your friend Jeff again. Just today I was going over your colony’s reports before my presentation to the board. Might you have any idea why the reports only list “Not a Number” in the number fields? I need numbers. Not numbers which are not numbers. Numbers. This is a problem. | signature = {{Signature-jeff-2}} }} 4fb4bfeafac7910a029106fea6fb63dd6acd5198 793 792 2024-01-31T13:45:04Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = The Interchange |number = 18 |prevMissions = [[Luxurious Vistas]] |nextMissions = [[Signs of Change]] |biome = Desert |money = 50000 |objectives = {{!}}N Over Zero{{!}}{{!}}Export 256 Appliances at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 3x Electronic Fab * 9x Wire Coiler * 3x Incinerator * 1x Coal Powerplant * 1x Oil Powerplant * 4x Oil Well * 4x Coal Mine * 4x Copper Mine * 3x Silica Quarry * 3x Water Pump * Bank * Accountancy * Voucher Exchange ==Region Unlocks== Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = The board wants a new Key Performance Indicator: Train over track capital utilization. I am getting tired of this management by numbers. You did real meaningful work and all the board wants to hear is abstract, easy to measure metrics. They want to see minimal investment into track and maximal train buying. I’ve built you a region with tons of existing tracks. After I reset the track builder reporting you can buy trains. Get the region running and finish the completion requirements. Now is our chance to break their report generation server: divide by zero. Zero track built. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = With all possible routes prebuilt and track built count reset, you need to only build trains. Plan and operate a thriving economy while keeping the track build count at zero. | signature = N Over Zero }} ====Afterword==== {{blockquote | text = Your friend Jeff again. Just today I was going over your colony’s reports before my presentation to the board. Might you have any idea why the reports only list “Not a Number” in the number fields? I need numbers. Not numbers which are not numbers. Numbers. This is a problem. | signature = {{Signature-jeff-2}} }} 2baa18e0dac7e3875b9ac313828cf76420e29f16 Signs of Change 0 274 794 2024-01-31T13:56:18Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Signs of Change |number = 19 |prevMissions = * [[The Interchange]] |nextMissions = * [[]] * [[]] * [[]] * [[]] |biome = Savannah |money = 17000 |objectives = {{!}}Emergency Lights!{{!}}{{!}}Export 128 signage at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 2x Signworks - L..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Signs of Change |number = 19 |prevMissions = * [[The Interchange]] |nextMissions = * [[]] * [[]] * [[]] * [[]] |biome = Savannah |money = 17000 |objectives = {{!}}Emergency Lights!{{!}}{{!}}Export 128 signage at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 2x Signworks - Level 3 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits * Oil Patches * Steam Vents ==Region Unlocks== Upon Region Entrance * Glass Smelter Industry Upon Mission Completion * Signworks Industry ==Transcript== ====Preamble==== {{blockquote | text = Certain people have been spreading nasty rumours of a sell off. Rest assured: If those rumours were true I would know. Nakatani needs you and your colony. Indeed, Nakatani needs 40 loads of new Neon Signage, which only your colony can deliver. There was an incident in which someone vastly over-pressured all the Nakatani signage, thinking it was running low. I didn’t get to see it, but apparently it was quite the light show. I shall not demean the soul responsible by mentioning his name. Unrelated, but Saito will no longer be caring for you. Given our previous communications, and your clearly promising skill, I volunteered to be your new line manager. I’m looking forward to a productive working relationship - together we can create huge value for Nakatani. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Roll out the Neon Sign production! Nakatani Chemicals needs immediate help. The existing stock of Signage has been sabotaged! Without signage Nakatani will slip into obscurity. Export enough Neon Signs to replenish Nakatani’s advertising presence. | signature = Emergency Lights! }} ====Afterword==== {{blockquote | text = I think I’m being framed! They’re saying I over-pressured the signs… I promise my terminal reported that they were running low, the logs were tampered! Nothing else explains it! I would never make a mistake like this. Please be careful. Whoever did this isn’t going to stop at only framing me. | signature = {{Signature-saito-2}} }} 074aa8287c4184f89c446d0ecf8d955e8a6af6aa 795 794 2024-01-31T13:57:10Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Signs of Change |number = 19 |prevMissions = * [[The Interchange]] |nextMissions = * [[In Media Res]] * [[Semiconductor Valley]] * [[Rental Plan]] |biome = Savannah |money = 17000 |objectives = {{!}}Emergency Lights!{{!}}{{!}}Export 128 signage at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 2x Signworks - Level 3 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits * Oil Patches * Steam Vents ==Region Unlocks== Upon Region Entrance * Glass Smelter Industry Upon Mission Completion * Signworks Industry ==Transcript== ====Preamble==== {{blockquote | text = Certain people have been spreading nasty rumours of a sell off. Rest assured: If those rumours were true I would know. Nakatani needs you and your colony. Indeed, Nakatani needs 40 loads of new Neon Signage, which only your colony can deliver. There was an incident in which someone vastly over-pressured all the Nakatani signage, thinking it was running low. I didn’t get to see it, but apparently it was quite the light show. I shall not demean the soul responsible by mentioning his name. Unrelated, but Saito will no longer be caring for you. Given our previous communications, and your clearly promising skill, I volunteered to be your new line manager. I’m looking forward to a productive working relationship - together we can create huge value for Nakatani. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Roll out the Neon Sign production! Nakatani Chemicals needs immediate help. The existing stock of Signage has been sabotaged! Without signage Nakatani will slip into obscurity. Export enough Neon Signs to replenish Nakatani’s advertising presence. | signature = Emergency Lights! }} ====Afterword==== {{blockquote | text = I think I’m being framed! They’re saying I over-pressured the signs… I promise my terminal reported that they were running low, the logs were tampered! Nothing else explains it! I would never make a mistake like this. Please be careful. Whoever did this isn’t going to stop at only framing me. | signature = {{Signature-saito-2}} }} 1b02ac193759da66d0fc34d015376e2715a073fb 797 795 2024-01-31T14:02:05Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Signs of Change |number = 19 |prevMissions = * [[The Interchange]] |nextMissions = * [[In Media Res]] * [[Semiconductor Valley]] * [[Rental Plan]] |biome = Savannah |money = 17000 |objectives = {{!}}Emergency Lights!{{!}}{{!}}Export 128 signage at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 2x Signworks - Level 3 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Silica Deposits * Oil Patches * Steam Vents ==Region Unlocks== Upon Region Entrance * Glass Smelter Industry Upon Mission Completion * Signworks Industry * Station Overdrive Upgrade for Purchase ==Transcript== ====Preamble==== {{blockquote | text = Certain people have been spreading nasty rumours of a sell off. Rest assured: If those rumours were true I would know. Nakatani needs you and your colony. Indeed, Nakatani needs 40 loads of new Neon Signage, which only your colony can deliver. There was an incident in which someone vastly over-pressured all the Nakatani signage, thinking it was running low. I didn’t get to see it, but apparently it was quite the light show. I shall not demean the soul responsible by mentioning his name. Unrelated, but Saito will no longer be caring for you. Given our previous communications, and your clearly promising skill, I volunteered to be your new line manager. I’m looking forward to a productive working relationship - together we can create huge value for Nakatani. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Roll out the Neon Sign production! Nakatani Chemicals needs immediate help. The existing stock of Signage has been sabotaged! Without signage Nakatani will slip into obscurity. Export enough Neon Signs to replenish Nakatani’s advertising presence. | signature = Emergency Lights! }} ====Afterword==== {{blockquote | text = I think I’m being framed! They’re saying I over-pressured the signs… I promise my terminal reported that they were running low, the logs were tampered! Nothing else explains it! I would never make a mistake like this. Please be careful. Whoever did this isn’t going to stop at only framing me. | signature = {{Signature-saito-2}} }} bc238f2f94712706f2a650dada989d5ded50b756 Semiconductor Valley 0 275 796 2024-01-31T14:01:30Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Semiconductor Valley |number = 19 Bonus A |prevMissions = [[Signs of Change]] |biome = Savannah |money = 17000 |objectives = {{!}}CPU Processing Units{{!}}{{!}}Produce and average of 7.3 CPU per minute at quest CPU Fab |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[CPU Fab]] (Quest Structure) * 1x Zeppelin Dock * 1x City * Bank * Accountan..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Semiconductor Valley |number = 19 Bonus A |prevMissions = [[Signs of Change]] |biome = Savannah |money = 17000 |objectives = {{!}}CPU Processing Units{{!}}{{!}}Produce and average of 7.3 CPU per minute at quest CPU Fab |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[CPU Fab]] (Quest Structure) * 1x Zeppelin Dock * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Complexity means profit. Few chains are more complex than CPUs. Your task is to build out this valley into the Colony’s own silicon valley. Let Earth handle the software, you’ll build the hardware. | signature = CPU Processing Units }} bd37676d6eececca19cc2e23b608a30992d21dae Rental Plan 0 276 798 2024-01-31T14:05:58Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Rental Plan |number = 19 Bonus B |prevMissions = [[Signs of Change]] |biome = Boreal |money = 29000 |objectives = {{!}}Luxurious Planning{{!}}{{!}}Export 128 Luxury Rooms at quest Zeppelin Dock |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City - Level 1 * Bank * Accountancy * Voucher Exchange Resources Nodes Pre..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rental Plan |number = 19 Bonus B |prevMissions = [[Signs of Change]] |biome = Boreal |money = 29000 |objectives = {{!}}Luxurious Planning{{!}}{{!}}Export 128 Luxury Rooms at quest Zeppelin Dock |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City - Level 1 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Oil Patches * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Your task is to develop this region into a stable Luxury Room assembler. The colony’s growing wealth is driving demand from the top one percent of colony workers. Export the Luxury Rooms and keep those vital workers happy. | signature = Luxurious Planning }} 1d8e0ba81b2486444734084f2793df8d572cc2dc In Media Res 0 277 799 2024-01-31T14:17:31Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = In Media Res |number = 20 |prevMissions = * [[Signs of Change]] |nextMissions = * [[Server Farming]] * [[Actuation Station]] * [[Mass Media]] |biome = Boreal |money = 47000 |objectives = {{!}}The HQ you Deserve{{!}}{{!}}Deliver 100% of the materials required for the HeadQuarters megaproject |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x He..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = In Media Res |number = 20 |prevMissions = * [[Signs of Change]] |nextMissions = * [[Server Farming]] * [[Actuation Station]] * [[Mass Media]] |biome = Boreal |money = 47000 |objectives = {{!}}The HQ you Deserve{{!}}{{!}}Deliver 100% of the materials required for the HeadQuarters megaproject |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[HeadQuarters]] (Quest Structure) * 1x Zeppelin Dock * 2X City * 1x Tube Plant - Level 2 * 1x Luxury Assembler * 1x Coal Powerplant - Level 5 * 4x Coal Mine - Level 5 * 4x Wire Coiler * 4x Copper Mine * 1x Steel Mill * 3x Water Pump - Level 5 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * CPU Fab Industry Upon Mission Completion * Tube Plant Industry * DieselDeluxe Engine Unlock for Purchase ==Transcript== ====Preamble==== {{blockquote | text = I know Saito contacted you. The logs don’t note what he said, but be careful about falling for the cries of the demoted. Saito has been pushing back against my plans for a while, but I never realized he might turn so violent. Do as I say and your colony will double in value. For now; know I have your back. You need a proper HeadQuarters. You’re running an entire planet; you deserve an office befitting your position. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = You’ve worked hard. Reward yourself. Construct the HeadQuarters of your heart’s desire. With the tallest tower in the colony everyone will respect you more. Like the castle towns of old, the surrounding cities must grow to feed the industry of construction. This is for everyone's benefit. | signature = The HQ you Deserve }} ====Afterword==== {{blockquote | text = Jeff is up to something, I’m sure of it. He’s the one in the meetings who suggested we make all that extra Neon Gas. Keep following Jeff’s plan. If he ever sets you up for failure, we’ll have the evidence to convince Mr. Nakatani. It might be tough, but please keep going. Everyone needs you, they just don’t know it. | signature = {{Signature-saito-2}} }} 49e1a24e3f5d052ea65a1e6838ddf3705e1bb81d Mass Media 0 278 800 2024-01-31T14:21:56Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Mass Media |number = 20 Bonus |prevMissions = [[In Media Res]] |biome = Tundra |money = 29000 |objectives = {{!}}TV plus Addition{{!}}{{!}}Export 128 Televisions at quest Zeppelin Dock |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City - Level 2 * 3x Coal Mine - Level 5 * 2x Oil Well - Level 5 * 1x Silica Quarry -..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Mass Media |number = 20 Bonus |prevMissions = [[In Media Res]] |biome = Tundra |money = 29000 |objectives = {{!}}TV plus Addition{{!}}{{!}}Export 128 Televisions at quest Zeppelin Dock |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City - Level 2 * 3x Coal Mine - Level 5 * 2x Oil Well - Level 5 * 1x Silica Quarry - Level 5 * 1x Iron Mine - Level 5 * 1x Copper Mine - Level 5 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Advertising is an excellent source of high margin profit. Yet few workers in the colony own a TV. Your task is to export TVs from this region to the entire colony. Turn every living room into an Ad viewing parlor. | signature = TV plus Addition }} e6699c1170448b6dae206f0b62e72b2e0cdecf19 Server Farming 0 279 801 2024-01-31T14:28:41Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Server Farming |subtitle = Mainframes |number = 21 Branch A |prevMissions = * [[In Media Res]] |nextMissions = * [[]] * [[]] |biome = Boreal |money = 29000 |objectives = {{!}}Insane for Mainframes{{!}}{{!}}Export 128 Mainframes at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Server Farming |subtitle = Mainframes |number = 21 Branch A |prevMissions = * [[In Media Res]] |nextMissions = * [[]] * [[]] |biome = Boreal |money = 29000 |objectives = {{!}}Insane for Mainframes{{!}}{{!}}Export 128 Mainframes at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 3x Framer * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Framer Industry * Motor Assembly Industry * Heavy Works Industry ==Transcript== ====Preamble==== {{blockquote | text = Excellent work!. You built a mighty fine HeadQuarters. Are you handy with computers? There’s a perfect area for MainFrame production near your location and your new HeadQuarters needs the computing power. As is, your colony's computation is dependent upon Nakatani’s earthbound DataCenters. Manufacture and export enough MainFrames to establish computing independence and I calculate your colony’s potential will grow exponentially! | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = With the HeadQuarters built, your next task is to fill the server rooms! Export the required Mainframes by Zeppelin and secure the colony’s computing independence. | signature = Insane for Mainframes }} 44da4b386feb538ae69dfb99cfa28276174d113c Server Farming 0 279 802 801 2024-01-31T14:29:09Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Server Farming |subtitle = Mainframes |number = 21 Branch A |prevMissions = * [[In Media Res]] |nextMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] |biome = Boreal |money = 29000 |objectives = {{!}}Insane for Mainframes{{!}}{{!}}Export 128 Mainframes at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 3x Framer * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Framer Industry * Motor Assembly Industry * Heavy Works Industry ==Transcript== ====Preamble==== {{blockquote | text = Excellent work!. You built a mighty fine HeadQuarters. Are you handy with computers? There’s a perfect area for MainFrame production near your location and your new HeadQuarters needs the computing power. As is, your colony's computation is dependent upon Nakatani’s earthbound DataCenters. Manufacture and export enough MainFrames to establish computing independence and I calculate your colony’s potential will grow exponentially! | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = With the HeadQuarters built, your next task is to fill the server rooms! Export the required Mainframes by Zeppelin and secure the colony’s computing independence. | signature = Insane for Mainframes }} 97f873370951534464e100c8fb353eac5615c45f 803 802 2024-01-31T14:29:56Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Server Farming |subtitle = Mainframes |number = 21 Branch A |prevMissions = * [[In Media Res]] |nextMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] * [[Frost Pit]] |biome = Boreal |money = 29000 |objectives = {{!}}Insane for Mainframes{{!}}{{!}}Export 128 Mainframes at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 3x Framer * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Framer Industry * Motor Assembly Industry * Heavy Works Industry ==Transcript== ====Preamble==== {{blockquote | text = Excellent work!. You built a mighty fine HeadQuarters. Are you handy with computers? There’s a perfect area for MainFrame production near your location and your new HeadQuarters needs the computing power. As is, your colony's computation is dependent upon Nakatani’s earthbound DataCenters. Manufacture and export enough MainFrames to establish computing independence and I calculate your colony’s potential will grow exponentially! | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = With the HeadQuarters built, your next task is to fill the server rooms! Export the required Mainframes by Zeppelin and secure the colony’s computing independence. | signature = Insane for Mainframes }} d689a34e779dfa3a387b47eb68f0a0838e1708ff Actuation Station 0 280 804 2024-01-31T14:37:53Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Actuation Station |subtitle = Heavy Tools and Motors |number = 21 Branch B |prevMissions = * [[In Media Res]] |nextMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] * [[Frost Pit]] |biome = Boreal |money = 17000 |objectives = {{!}}Heavy Work; Heavy Tools{{!}}{{!}}Export 128 at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: *..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Actuation Station |subtitle = Heavy Tools and Motors |number = 21 Branch B |prevMissions = * [[In Media Res]] |nextMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] * [[Frost Pit]] |biome = Boreal |money = 17000 |objectives = {{!}}Heavy Work; Heavy Tools{{!}}{{!}}Export 128 at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * 1x Heavy Works - Level 3 * 1x Motor Assembly * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Motor Assembly Industry Upon Mission Completion * Heavyworks Industry * Framer Industry ==Transcript== ====Preamble==== {{blockquote | text = That HeadQuarters was a big project, eh? Looking at your colony’s production stats I’m noticing a distinct lack of Heavy Tooling. As you can imagine, various high tier industries cannot be catalyzed without proper Heavy Tools. If you want to complete big projects like the HeadQuarters in reasonable time, you will need catalysts. Head over to the marked Region. It has the industries for Heavy Tool production even if the distances are far. I trust you’ll figure it out. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Bring out the heavy machinery. Higher tier industries require increasingly complex catalysts. Of course transportation costs dominate with such weighty freight. Your task is to build out this region into a Heavy Tools production heavyweight. | signature = Heavy Work; Heavy Tools }} b8fd9d9b76aea58338b4c5c807486134d05c244e Frost Pit 0 281 805 2024-01-31T14:42:03Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Frost Pit |number = 21 Bonus |prevMissions = * [[Server Farming]] * [[Actuation Station]] |biome = Tundra |money = 47000 |objectives = {{!}}Have Ice. Need Growth{{!}}{{!}}Reach 1280 population in quest City |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Oil Well - Level 5 * 1x Water Pump - Level 5 * Bank * Acc..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Frost Pit |number = 21 Bonus |prevMissions = * [[Server Farming]] * [[Actuation Station]] |biome = Tundra |money = 47000 |objectives = {{!}}Have Ice. Need Growth{{!}}{{!}}Reach 1280 population in quest City |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Oil Well - Level 5 * 1x Water Pump - Level 5 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Most old records are oddly missing. Either by terraformation calamity or administrator mishap, this City is buried deep inside a glacial crater. Waste not and want not: reestablish the city so the capital investment does not go to waste. A Level 5 City is required to justify the original projections. | signature = Have Ice. Need Growth }} af49abd27494468ca0a29356cf02bb1cc0c9ab90 Luxurious Vistas 0 271 806 791 2024-01-31T14:54:20Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Luxurious Vistas |number = 17 |prevMissions = * [[CO2 WARNING]] |nextMissions = * [[The Interchange]] * [[Capital Renewal]] |biome = Boreal |money = 29000 |objectives = {{!}}Tilted Towers{{!}}{{!}}Deliver 32 Luxury Rooms to quest City |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x Salt Refinery * 2x Hullyard - Level 2 * 2x Luxury Assembler * 1x Oil Powerplant * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Hullyard Industry * Track Height Increase - Concrete Supports Upon Mission Completion * Luxury Assembler Industry * Rescue Engine Purchase Unlock ==Transcript== ====Preamble==== {{blockquote | text = Corporate just sent over an odd order, they want a nature-centric city development. A city fit for Nakatani Employees no less. Who’s planning to live there!? I mean besides yourself of course. No matter, you cannot argue with corporate. They are requesting you start Luxury Room production pronto. You’ve even been given a license for concrete 10 height capable track supports." | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Pristine nature: the perfect location for luxury development. Corporate has requested rapid city development with accessible views of the natural spires. Their instructions put special emphasis on Luxury. Grow the City to at Level 2 so you can deliver their Luxury Rooms requirement. | signature = Tilted Towers }} ef27ec4f49b3778f0e7ee222a5a8aa93363b7745 Heavy Arms 0 282 807 2024-01-31T15:04:47Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Heavy Arms |subtitle = Robotics |number = 22 Branch A |prevMissions = * [[Server Farming]] * [[Actuation Station]] |nextMissions = * [[Frozen Dam]] * [[Out of Rocket Expenses]] |biome = Boreal |money = 29000 |objectives = {{!}}Lending Hands{{!}}{{!}}Export 64 RobotArm |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest St..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Heavy Arms |subtitle = Robotics |number = 22 Branch A |prevMissions = * [[Server Farming]] * [[Actuation Station]] |nextMissions = * [[Frozen Dam]] * [[Out of Rocket Expenses]] |biome = Boreal |money = 29000 |objectives = {{!}}Lending Hands{{!}}{{!}}Export 64 RobotArm |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City - Level 1 * 1x Armory - Level 3 * 1x Heavyworks * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Armory * Rocket Factory * Booster Plant ==Transcript== ====Preamble==== {{blockquote | text = “Can I lend you my hand?” Trust me; it’s more funny in person. The joke went around the office. Everyone was saying it. Now Mr. Nakatani is either playing along or is honestly confused. In either case we are in trouble. We need a lot of RobotArms. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Rescue the employees of Nakatani Chemicals from their own jokes gone awry. Export the promised hand count in Robot Arms. Any shortfall could result in loss of face for the employees, and a dark opinion of your loyalty. | signature = Lending Hands }} a88d05358cec638dac662afe5352c5eda2753bf3 809 807 2024-01-31T15:19:09Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Heavy Arms |subtitle = Robotics |number = 22 Branch A |prevMissions = * [[Server Farming]] * [[Actuation Station]] |nextMissions = * [[Frozen Dam]] * [[Out of Rocket Expenses]] |biome = Boreal |money = 29000 |objectives = {{!}}Lending Hands{{!}}{{!}}Export 64 RobotArm |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City - Level 1 * 1x Armory - Level 3 * 1x Heavyworks * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Rocket Factory Industry * Booster Plant Industry * Armory Industry * Bullet Engine unlock for Purchase * Paperclip Stamper Industry unlock for Purchase ==Transcript== ====Preamble==== {{blockquote | text = “Can I lend you my hand?” Trust me; it’s more funny in person. The joke went around the office. Everyone was saying it. Now Mr. Nakatani is either playing along or is honestly confused. In either case we are in trouble. We need a lot of RobotArms. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Rescue the employees of Nakatani Chemicals from their own jokes gone awry. Export the promised hand count in Robot Arms. Any shortfall could result in loss of face for the employees, and a dark opinion of your loyalty. | signature = Lending Hands }} d1925de41f12855c9a7542f1a358d58c3dc4e56b Spacefleet Spares 0 283 808 2024-01-31T15:18:41Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Spacefleet Spares |subtitle = Rocket Parts |number = 22 Branch B |prevMissions = * [[Actuation Station]] * [[Server Farming]] |nextMissions = * [[Out of Rocket Expenses]] * [[Frozen Dam]] |biome = Boreal |money = 29000 |objectives = {{!}}Playing with Fire{{!}}{{!}}Produce an average of 7.7. Rocket Engines at quest Rocket Factory |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures al..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Spacefleet Spares |subtitle = Rocket Parts |number = 22 Branch B |prevMissions = * [[Actuation Station]] * [[Server Farming]] |nextMissions = * [[Out of Rocket Expenses]] * [[Frozen Dam]] |biome = Boreal |money = 29000 |objectives = {{!}}Playing with Fire{{!}}{{!}}Produce an average of 7.7. Rocket Engines at quest Rocket Factory |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Rocket Factory]] (Quest Structure) * 1x City - Level 1 * 1x Rocket Factory - Level 3 * 2x Booster Plant * 1x Neon Refinery * 2x Coal Gassifier * 1x Coal Powerplant * 1x Oil Powerplant * 1x Steel Mill * 5x Coal Mine * 3x Water Pump * 2x Iron Mine * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Rocket Factory Industry * Booster Plant Industry * Armory Industry * Bullet Engine unlock for Purchase * Paperclip Stamper Industry unlock for Purchase ==Transcript== ====Preamble==== {{blockquote | text = What do you drink? Tea? Coffee? Me? I drink coffee. Studies have proven: winners drink coffee. That’s why I drink coffee. I’ve managed to acquire a literal ton of Coffee. None of that brown-water “synthetic coffee” - the real stuff! On an unrelated note, I need you to plug a hole in our cash flow. The colony’s rocket consumables, engines and fuel, are all being bought on the open market. You need to fix that. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Rescue the employees of Nakatani Chemicals from their own jokes gone awry. Export the promised hand count in Robot Arms. Any shortfall could result in loss of face for the employees, and a dark opinion of your loyalty. | signature = Lending Hands }} ====Afterword==== {{blockquote | text = How could someone like Jeff afford real coffee? Even at the executive level, that’s unusual. I bet he was behind that “mistaken” coffee order from a while back. | signature = {{Signature-saito-2}} }} b49f09fca8bb9c50c1547686cadcd77c7f03b33c Frozen Dam 0 284 810 2024-01-31T15:31:38Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Frozen Dam |number = |prevMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] |nextMissions = * [[Prime Slime]] * [[Cratered]] |biome = Tundra |money = 29000 |objectives = {{!}}Mobile Computing{{!}}{{!}}Launch 12 Compute Rockets |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Compute Platform]] (Quest Structure) * 3x Wire Coiler * 1x Steel..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Frozen Dam |number = |prevMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] |nextMissions = * [[Prime Slime]] * [[Cratered]] |biome = Tundra |money = 29000 |objectives = {{!}}Mobile Computing{{!}}{{!}}Launch 12 Compute Rockets |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Compute Platform]] (Quest Structure) * 3x Wire Coiler * 1x Steel Mill * 5x Coal Mine - Level 5 * 5x Oil Well - Level 5 * 4x Copper Mine * 3x Iron Mine * 3x Silica Quarry * 6x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Compute Platform Industry * WorkRocket Platform Industry * The Mechanist Industry unlocked for purchase ==Transcript== ====Preamble==== {{blockquote | text = Excellent work as always! I've got two words for you: Mobile Computers. Traditional computers are big immobile rooms, right? Our lawyers just negotiated rights to the future: Mobile Computers. Turns out, the trick was to add rockets. Let’s get some made! | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = A giant hydroelectric dam was planned for this region during terraformation. Sadly no one checked the ambient temperature. Every drop of water, save a couple geothermal springs, is frozen solid. Hide your Compute Rocket industry inside this frozen bowl and make the future! Long rumoured but always stuck in licensing, the Mobile Computer has been the dream of computerists for hundreds of years. Now by luck, Nakatani Chemicals worked out the licensing nightmare to this lucrative industry. All you have to do is build them. | signature = Mobile Computing }} ====Afterword==== {{blockquote | text = Bad news - the board had a couple rather pointed questions about your Mobile Computers. Considering their line of questioning, I think you might be in trouble. They say your licenses were forgeries! How could you do this to us! I’ll try to assure them you never intended to sell anything illegal. I should be able to smooth things over, leave it to me. I’ll save you. | signature = {{Signature-jeff-2}} }} 73f1e537b8b675e61042f1f196ad6e2267331564 811 810 2024-01-31T15:33:14Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Frozen Dam |subtitle = Mobile Computers |number = 23 Branch A |prevMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] |nextMissions = * [[Prime Slime]] * [[Cratered]] |biome = Tundra |money = 29000 |objectives = {{!}}Mobile Computing{{!}}{{!}}Launch 12 Compute Rockets |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Compute Platform]] (Quest Structure) * 3x Wire Coiler * 1x Steel Mill * 5x Coal Mine - Level 5 * 5x Oil Well - Level 5 * 4x Copper Mine * 3x Iron Mine * 3x Silica Quarry * 6x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Compute Platform Industry * WorkRocket Platform Industry * The Mechanist Industry unlocked for purchase ==Transcript== ====Preamble==== {{blockquote | text = Excellent work as always! I've got two words for you: Mobile Computers. Traditional computers are big immobile rooms, right? Our lawyers just negotiated rights to the future: Mobile Computers. Turns out, the trick was to add rockets. Let’s get some made! | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = A giant hydroelectric dam was planned for this region during terraformation. Sadly no one checked the ambient temperature. Every drop of water, save a couple geothermal springs, is frozen solid. Hide your Compute Rocket industry inside this frozen bowl and make the future! Long rumoured but always stuck in licensing, the Mobile Computer has been the dream of computerists for hundreds of years. Now by luck, Nakatani Chemicals worked out the licensing nightmare to this lucrative industry. All you have to do is build them. | signature = Mobile Computing }} ====Afterword==== {{blockquote | text = Bad news - the board had a couple rather pointed questions about your Mobile Computers. Considering their line of questioning, I think you might be in trouble. They say your licenses were forgeries! How could you do this to us! I’ll try to assure them you never intended to sell anything illegal. I should be able to smooth things over, leave it to me. I’ll save you. | signature = {{Signature-jeff-2}} }} 365d7de943cfd1064d4b14d4b237687b7c7f7fed 813 811 2024-01-31T15:41:21Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Frozen Dam |subtitle = Mobile Computers |number = 23 Branch A |prevMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] |nextMissions = * [[Prime Slime]] * [[Cratered]] |biome = Tundra |money = 29000 |objectives = {{!}}Mobile Computing{{!}}{{!}}Launch 12 Compute Rockets at quest structure |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Compute Platform]] (Quest Structure) * 3x Wire Coiler * 1x Steel Mill * 5x Coal Mine - Level 5 * 5x Oil Well - Level 5 * 4x Copper Mine * 3x Iron Mine * 3x Silica Quarry * 6x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Compute Platform Industry * WorkRocket Platform Industry * The Mechanist Industry unlocked for purchase ==Transcript== ====Preamble==== {{blockquote | text = Excellent work as always! I've got two words for you: Mobile Computers. Traditional computers are big immobile rooms, right? Our lawyers just negotiated rights to the future: Mobile Computers. Turns out, the trick was to add rockets. Let’s get some made! | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = A giant hydroelectric dam was planned for this region during terraformation. Sadly no one checked the ambient temperature. Every drop of water, save a couple geothermal springs, is frozen solid. Hide your Compute Rocket industry inside this frozen bowl and make the future! Long rumoured but always stuck in licensing, the Mobile Computer has been the dream of computerists for hundreds of years. Now by luck, Nakatani Chemicals worked out the licensing nightmare to this lucrative industry. All you have to do is build them. | signature = Mobile Computing }} ====Afterword==== {{blockquote | text = Bad news - the board had a couple rather pointed questions about your Mobile Computers. Considering their line of questioning, I think you might be in trouble. They say your licenses were forgeries! How could you do this to us! I’ll try to assure them you never intended to sell anything illegal. I should be able to smooth things over, leave it to me. I’ll save you. | signature = {{Signature-jeff-2}} }} 481b0d64993b86e0c42a5edab1fba7f90c0222db Out of Rocket Expenses 0 285 812 2024-01-31T15:40:51Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Out of Rocket Expenses |subtitle = WorkRockets |number = 23 Branch B |prevMissions = * [[Spacefleet Spares]] * [[Heavy Arms]] |nextMissions = * [[Prime Slime]] * [[Cratered]] |biome = Boreal |money = 7000 |objectives = {{!}}WorkRockets out for Launch{{!}}{{!}}Launch 8 WorkRockets at quest structure |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: *..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Out of Rocket Expenses |subtitle = WorkRockets |number = 23 Branch B |prevMissions = * [[Spacefleet Spares]] * [[Heavy Arms]] |nextMissions = * [[Prime Slime]] * [[Cratered]] |biome = Boreal |money = 7000 |objectives = {{!}}WorkRockets out for Launch{{!}}{{!}}Launch 8 WorkRockets at quest structure |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[WorkRocket Platform]] (Quest Structure) * 1x Zeppelin Dock * 1x Tool Die - Level 4 * 2x Hard Mold - Level 4 * 3x Motor Assembly * 2x Booster Plant * 1x Hullyard * 1x Rocket Factory * 1x Armory * 1x Heavyworks * 1x CPU Fab * 1x Neon Refinery * 1x Oil Refinery - Level 2 * 7x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Compute Platform Industry * WorkRocket Platform Industry * The Mechanist Industry unlocked for purchase ==Transcript== ====Preamble==== {{blockquote | text = Sadly the board says your prior efforts just didn’t match expectations. I don’t know where they got those exaggerated expectations, but your issue remains. I’m in damage control mode for you here: You need to impress the board. Launch a bunch of WorkRockets. Don’t worry about their heading, I’ll find a destination for them. Once you’ve finished, I’ll inform the board of your achievement. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Due to board concerns, your initial regional funding is low. Figure out how to establish basic production while earning funding along the way. Make good on the trust shown to you by the board or expect further cuts. Your assignment is to Launch WorkRockets from the hilltop facility. | signature = WorkRockets out for Launch }} ====Afterword==== {{blockquote | text = Yikes… the board said those WorkRockets were “unimpressive considering the vast budget provided”. Their words. No idea what they mean about the budget. The important part is they are not happy with you. There’s only one thing for it. You need to do something impressive. Something big. Something no other colony has dared to achieve. I’ll get my thinking cap on. | signature = {{Signature-jeff-2}} }} 2e1f7b6ae57c766010d73259c2f60fbac40ff075 Cratered 0 286 814 2024-01-31T15:49:54Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Cratered |number = 23 Bonus |prevMissions = * [[Frozen Dam]] * [[Out of Rocket Expenses]] |biome = Boreal |money = 29000 |objectives = {{!}}Computing a Start{{!}}{{!}}Launch 1 Compute Rocket at quest 1 structure {{!}}Let the Workrockets Flow{{!}}{{!}}Produce x at quest y |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Compute Platform]] (Qu..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Cratered |number = 23 Bonus |prevMissions = * [[Frozen Dam]] * [[Out of Rocket Expenses]] |biome = Boreal |money = 29000 |objectives = {{!}}Computing a Start{{!}}{{!}}Launch 1 Compute Rocket at quest 1 structure {{!}}Let the Workrockets Flow{{!}}{{!}}Produce x at quest y |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Compute Platform]] (Quest 1 Structure) * 1x [[WorkRocket Platform]] (Quest 2 Structure) * 1x Electronic Fab - Level 2 * 3x Wire Coiler - Level 2 * 1x Oil Powerplant - Level 2 * 2x CPU Fab * 2x Motor Assembly * 1x Neon Refinery * 2x Coal Gassifier * 8x Incinerator * 4x Wire Coiler * 1x Coal Powerplant * 4x Oil Well - Level 2 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = This ancient crater is a dense mess of resources. Choose carefully the ratio of resources to extract as you see fit. Your starting task is to launch a single Compute Rocket to establish remote control for eventual mass WorkRocket launches. | signature = Computing a Start }} {{blockquote | text = With remote control established, start producing WorkRockets at a constant flow. No further Compute Rockets are required, so consider abandoning those investments. | signature = Let the Workrockets Flow }} 347c6086ad8a469076ffbf497c5387aae5cb7649 815 814 2024-01-31T15:52:39Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Cratered |number = 23 Bonus |prevMissions = * [[Frozen Dam]] * [[Out of Rocket Expenses]] |biome = Boreal |money = 29000 |objectives = {{!}}Computing a Start{{!}}{{!}}Launch 1 Compute Rocket at quest 1 structure {{!}}- {{!}}Let the WorkRockets Flow{{!}}{{!}}Launch 4 WorkRockets at quest 2 structure |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Compute Platform]] (Quest 1 Structure) * 1x [[WorkRocket Platform]] (Quest 2 Structure) * 1x Electronic Fab - Level 2 * 3x Wire Coiler - Level 2 * 1x Oil Powerplant - Level 2 * 2x CPU Fab * 2x Motor Assembly * 1x Neon Refinery * 2x Coal Gassifier * 8x Incinerator * 4x Wire Coiler * 1x Coal Powerplant * 4x Oil Well - Level 2 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = This ancient crater is a dense mess of resources. Choose carefully the ratio of resources to extract as you see fit. Your starting task is to launch a single Compute Rocket to establish remote control for eventual mass WorkRocket launches. | signature = Computing a Start }} {{blockquote | text = With remote control established, start producing WorkRockets at a constant flow. No further Compute Rockets are required, so consider abandoning those investments. | signature = Let the Workrockets Flow }} e3a4793ac8baadf5761973f14ae714d286065219 Prime Slime 0 287 816 2024-02-01T12:02:04Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Prime Slime |number = 24 |prevMissions = * [[Frozen Dam]] * [[Out of Rocket Expenses]] |nextMissions = * [[Flying Steel]] * [[Gridlock]] * [[Clipped Wings]] * [[Dusty with a Chance of Rain]] |biome = Savannah |money = 29000 |objectives = {{!}}A Gooey Situation{{!}}{{!}}Export 128 Assembra at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Prime Slime |number = 24 |prevMissions = * [[Frozen Dam]] * [[Out of Rocket Expenses]] |nextMissions = * [[Flying Steel]] * [[Gridlock]] * [[Clipped Wings]] * [[Dusty with a Chance of Rain]] |biome = Savannah |money = 29000 |objectives = {{!}}A Gooey Situation{{!}}{{!}}Export 128 Assembra at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City - Level 1 * 3x Grey Assembly * 1x CPU Fab * 3x Wire Coiler * 1x Concrete Yard - Level 5 * 1x Silica Quarry - Level 5 * 1x Water Pump - Level 5 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Solva Industry Upon Mission Completion * Grey Assembly Industry ==Transcript== ====Preamble==== {{blockquote | text = I’ve had an idea. Ever heard of Assembra? It is an old technology, banned for production on Earth a long time ago. No known colony dares produce the stuff. Think grey-goo from old sci-fi novels. Self-replicating and planet destroying when mishandled, but insanely valuable for catalyzing any high-tier production. Assembra is liquid gold. So you, my friend, are going to start production in your colony. I know it’s risky, but let me make the decision simple for you: I’ll tell your colony workers that YOU were the one that cancelled the trucking contract if you refuse. Thus causing all their misery. They will believe me because it is true. Do as I say or you’ll be trapped on a planet full of people who hate you - and we all know how offworlders express their anger in very... direct ways. Consider this your biggest step towards redemption. Once our colony has stable Assembra production, it will become the shining jewel of all colonies. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Assembra production is banned on all known planets. Use your sole authority over the colony to force production of this valuable catalyst. You cannot risk the colony population knowing of your mistake with the Trucking contract. | signature = A Gooey Situation }} ====Afterword==== {{blockquote | text = I see you are alive and the colony is not covered in Assembra. Good job. I was going to tell the board of your achievement... but, on second thought, that might send the wrong message. I’ll keep this Assembra experiment our little secret - for your sake. On the off chance the power of Assembra has caught your attention, nearby is a second region primed for production. | signature = {{Signature-jeff-2}} }} beecf4b542ddb6eb78d1327014e13d9c1b2d1013 Flying Steel 0 288 817 2024-02-01T12:12:26Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Flying Steel |number = 25 |prevMissions = * [[Prime Slime]] |nextMissions = * [[Plastic Canon]] * [[Snow Spearhead]] |biome = Tundra |money = 47000 |objectives = {{!}}Flying Steel{{!}}{{!}}Export and average of 64 Steel per minute at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Booster Plant..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Flying Steel |number = 25 |prevMissions = * [[Prime Slime]] |nextMissions = * [[Plastic Canon]] * [[Snow Spearhead]] |biome = Tundra |money = 47000 |objectives = {{!}}Flying Steel{{!}}{{!}}Export and average of 64 Steel per minute at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Booster Plant * 1x Neon Refinery * 2x Ore Gassifier * 1x Steel Mill * 2 Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Iron Veins * Coal Veins * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = Great news - my plan has come to fruition! The value of the colony is off the charts. I've lined up the perfect buyer for the whole thing, at a price that will make my department an obscene profit. The power of numbers. Oh, didn't I mention that the sale was back on? My bad. Well actually it was never off. But hey, you've proven your value to such an extent that the new buyer simply INSISTS you are part of the package - you're contracted up until the day you die! Shame about not getting to come back to Earth, but we don't always get what we want. There's only one wrinkle - Saito convinced the board to give you one last chance. The loving fools will show mercy to anyone, don’t think you’re special. But look - this sale's gonna net me a frankly staggering quarterly bonus, and I want it now. So if you give up now I’ll cut you in for 1% of the haul. You’ll be the richest colony member! You should quit now. Just turn off your terminal and walk away. Don’t fight the inevitable. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Jeff convinced the Board you were a failure. Now is your chance to expose his lies. Based on Saito’s recommendation your assignment is to over produce Steel and send it flying through the export dock. Consider leveraging the Retrograde supply chain as a profitable side-chain and source of Waste to catalyze your mines. | signature = Flying Steel }} ====Afterword==== {{blockquote | text = This is your chance, Yoshida! Don’t ask how I got this, but I am sending you a license to a proprietary high speed Bullet train. If you can succeed in these challenges it will expose all of Jeff’s lies! | signature = {{Signature-saito-2}} }} e872fcf1c9560189770a1d172a8854b6a5d77853 Plastic Canon 0 289 818 2024-02-01T12:15:51Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Plastic Canon |number = 26 |prevMissions = [[Flying Steel]] |nextMissions = [[]] |biome = Tundra |money = 17000 |objectives = {{!}}Plastic Canon{{!}}{{!}}Export an average ot 64 Plastic per minute at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Plasticizer - Level 5 * 2x Worker Housing * Bank..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Plastic Canon |number = 26 |prevMissions = [[Flying Steel]] |nextMissions = [[]] |biome = Tundra |money = 17000 |objectives = {{!}}Plastic Canon{{!}}{{!}}Export an average ot 64 Plastic per minute at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Plasticizer - Level 5 * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = Perhaps my last message was too subtle. I’m ordering you to step down and not attempt your assigned task. Shut off your terminal and walk away the instant you receive this message. I’ll give you 2%, final offer. Let's be honest: No-one wants you back on Earth. No-one even knows who you are anymore. The board is only being nice. And Earth needs off world colonies to hold all the dirty industry. So really, you're helping yourself and everyone else by staying away. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Either Saito has gotten lazy, or he has a scheme. First you over produced Steel, now your assignment is to over produce Plastic. Steel and Plastic, what could Saito be planning? | signature = Plastic Canon }} ====Afterword==== {{blockquote | text = You’ve got this! Jeff’s entire plan is relying on your failure, but we both know you are the best colony administrator who’s ever lived! Just do your thing and keep hitting those goals! Oh, and prepare to be awe-struck at the power of your new fully operating export-import chain! | signature = {{Signature-saito-2}} }} 9c4e4ae752d4361332bf867af1dffd58dce5f88a 819 818 2024-02-01T12:16:18Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Plastic Canon |number = 26 |prevMissions = [[Flying Steel]] |nextMissions = [[Last Job]] |biome = Tundra |money = 17000 |objectives = {{!}}Plastic Canon{{!}}{{!}}Export an average ot 64 Plastic per minute at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x Plasticizer - Level 5 * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = Perhaps my last message was too subtle. I’m ordering you to step down and not attempt your assigned task. Shut off your terminal and walk away the instant you receive this message. I’ll give you 2%, final offer. Let's be honest: No-one wants you back on Earth. No-one even knows who you are anymore. The board is only being nice. And Earth needs off world colonies to hold all the dirty industry. So really, you're helping yourself and everyone else by staying away. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Either Saito has gotten lazy, or he has a scheme. First you over produced Steel, now your assignment is to over produce Plastic. Steel and Plastic, what could Saito be planning? | signature = Plastic Canon }} ====Afterword==== {{blockquote | text = You’ve got this! Jeff’s entire plan is relying on your failure, but we both know you are the best colony administrator who’s ever lived! Just do your thing and keep hitting those goals! Oh, and prepare to be awe-struck at the power of your new fully operating export-import chain! | signature = {{Signature-saito-2}} }} 5f1aa3db9986c6856729e16f413f68ea2e16d76d Last Job 0 290 820 2024-02-01T12:30:51Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Last Job |number = 27 |prevMissions = * [[Plastic Canon]] |nextMissions = * [[Epilogue]] * [[Trinity]] * [[The Lap of Luxury]] * [[Looking for a Silver Liner]] |biome = Tundra |money = 29000 |objectives = {{!}}The End{{!}}{{!}}Launch WorkRockets with over 100% efficiency on the quest Industry |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x ..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Last Job |number = 27 |prevMissions = * [[Plastic Canon]] |nextMissions = * [[Epilogue]] * [[Trinity]] * [[The Lap of Luxury]] * [[Looking for a Silver Liner]] |biome = Tundra |money = 29000 |objectives = {{!}}The End{{!}}{{!}}Launch WorkRockets with over 100% efficiency on the quest Industry |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[WorkRocket Platform]] (Quest Structure) * 1x Zeppelin Dock * 2x City * 1x Import Dock - 64 Steel per minute * 1x Import Dock - 64 Plastic per minute * 1x Geothermal - Level 5 * 1x Geothermal - Level 2 * 2x Coal Mine - Level 3 * 1x Oil Well - Level 3 * 1x Water Pump - Level 3 * 1x Silica Quarry - Level 3 * 1x Iron Mine - Level 3 * 1x Copper Mine - Level 2 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Zeppelin Dock ==Transcript== ====Preamble==== {{blockquote | text = Look, fine - if you stop all this now, I'll give you 4 percent of the bonus. We're talking big money here - enough for you to live like a king out there! A huge house, servants, the lot! Don't miss this chance. Turn off your terminal now and do nothing. No one has ever been offered so much to do nothing. | signature = Jeff }} ====Objective Text==== {{blockquote | text = You should give up now. This next task is impossible. Launch Workrockets at over 101%. Good luck doing that without catalysts. Even if you do make an attempt, it will take forever. This is an impossible and forever task. Save time and give up now. FOREVER. IMPOSSIBLE. GIVE UP.<br /><br/>- Jeff | signature = The End }} ====Afterword==== See [[Epilogue]] 620b041c47afebe35246fa4e1e637600d239e716 821 820 2024-02-01T12:31:10Z Hiroteashi 379511 /* Objective Text */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Last Job |number = 27 |prevMissions = * [[Plastic Canon]] |nextMissions = * [[Epilogue]] * [[Trinity]] * [[The Lap of Luxury]] * [[Looking for a Silver Liner]] |biome = Tundra |money = 29000 |objectives = {{!}}The End{{!}}{{!}}Launch WorkRockets with over 100% efficiency on the quest Industry |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[WorkRocket Platform]] (Quest Structure) * 1x Zeppelin Dock * 2x City * 1x Import Dock - 64 Steel per minute * 1x Import Dock - 64 Plastic per minute * 1x Geothermal - Level 5 * 1x Geothermal - Level 2 * 2x Coal Mine - Level 3 * 1x Oil Well - Level 3 * 1x Water Pump - Level 3 * 1x Silica Quarry - Level 3 * 1x Iron Mine - Level 3 * 1x Copper Mine - Level 2 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Zeppelin Dock ==Transcript== ====Preamble==== {{blockquote | text = Look, fine - if you stop all this now, I'll give you 4 percent of the bonus. We're talking big money here - enough for you to live like a king out there! A huge house, servants, the lot! Don't miss this chance. Turn off your terminal now and do nothing. No one has ever been offered so much to do nothing. | signature = Jeff }} ====Objective Text==== {{blockquote | text = You should give up now. This next task is impossible. Launch Workrockets at over 101%. Good luck doing that without catalysts. Even if you do make an attempt, it will take forever. This is an impossible and forever task. Save time and give up now. FOREVER. IMPOSSIBLE. GIVE UP. | signature = Jeff }} ====Afterword==== See [[Epilogue]] c69b491aff2c963e57bd681bf66474bca81b875b 846 821 2024-02-01T20:26:39Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Last Job |number = 27 |prevMissions = * [[Plastic Canon]] |nextMissions = * [[Epilogue]] * [[Trinity]] * [[The Lap of Luxury]] * [[Looking for a Silver Liner]] * [[Exos Nil]] |biome = Tundra |money = 29000 |objectives = {{!}}The End{{!}}{{!}}Launch WorkRockets with over 100% efficiency on the quest Industry |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[WorkRocket Platform]] (Quest Structure) * 1x Zeppelin Dock * 2x City * 1x Import Dock - 64 Steel per minute * 1x Import Dock - 64 Plastic per minute * 1x Geothermal - Level 5 * 1x Geothermal - Level 2 * 2x Coal Mine - Level 3 * 1x Oil Well - Level 3 * 1x Water Pump - Level 3 * 1x Silica Quarry - Level 3 * 1x Iron Mine - Level 3 * 1x Copper Mine - Level 2 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Zeppelin Dock ==Transcript== ====Preamble==== {{blockquote | text = Look, fine - if you stop all this now, I'll give you 4 percent of the bonus. We're talking big money here - enough for you to live like a king out there! A huge house, servants, the lot! Don't miss this chance. Turn off your terminal now and do nothing. No one has ever been offered so much to do nothing. | signature = Jeff }} ====Objective Text==== {{blockquote | text = You should give up now. This next task is impossible. Launch Workrockets at over 101%. Good luck doing that without catalysts. Even if you do make an attempt, it will take forever. This is an impossible and forever task. Save time and give up now. FOREVER. IMPOSSIBLE. GIVE UP. | signature = Jeff }} ====Afterword==== See [[Epilogue]] cb385257aa34f5b33c26e93a81068f91e7880d27 Epilogue 0 291 822 2024-02-01T12:32:05Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Epilogue |prevMissions = [[Last Job]] }}" wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Epilogue |prevMissions = [[Last Job]] }} 46a1c80c2b57d2beda5bf9cedc06a60b4dc74c9d 823 822 2024-02-01T13:18:12Z Hiroteashi 379511 wikitext text/x-wiki ==Info== The final messages of the game upon completion of [[Last Job]] Some dialogue changes based on player performance and % campaign completion ==Transcript== Always Plays {{blockquote | text = Your skilled redevelopment of the colony ensured it remained in the caring ownership of Nakatani Chemicals. For his loyalty Saito was restored to his rightful position, with a pay raise. The colony continued to grow in importance and production volume. }} Additional text if the player only completed the bare minimum number of regions before completing Last Job {{blockquote | text = Through your diligent focus many vital regional economies were restored. Though some known regions still languished without track or trains. }} Additional text if the player only completed over50% of bonus regions before completing Last Job {{blockquote | text = Thanks to your thorough efforts most regional economies are fully operational. Though rumours speak of uncharted regions still waiting to be discovered. }} Always Plays {{blockquote | text = When the disaster of warranty invalidation showed its ugly head you showed up and brought the heat. Glommer continued to honour their warranty until the end of the colony’s tax life. }} Additional text if the player completed optional region: [[CO2 WARNING REDUX]] {{blockquote | text = Thanks to your combustible efforts the Glommer Corporation continued to honour their warranty. For the colony workers, the biggest change occurred over time. Summers became hot and winters milder. Workers started a new tradition: Summer Holidays. }} Additional text if the player has S-Ranked over 50% of missions {{blockquote |text = Your incredible speed records became legends by which other corporations are benchmarked. Though many have tried, none have yet to surpass you. }} Additional Text if the player completed optional region: [[Gridlock]] {{blockquote |text = After your Assembra expansion, the colony enjoyed increased economic leverage. Every colony citizen was careful to maintain safe Assembra handling and the colony has continued manufacturing without incident. Always Plays {{blockquote | text = Once the Board learned the true depths of Jeff’s scheming, he was promptly demoted. Now he cleans in-flight WorkRockets. Earth is now but a distant memory for him. }} Always Plays {{blockquote | text = Your redemption was achieved. Once the Board heard of your efforts and consistent dedication, they did right by you. After a long exile, you were welcomed back to Earth. To stay. For now. }} 833e7022e2b72a204d52b59fdae5e733d638dbc2 827 823 2024-02-01T13:26:54Z Hiroteashi 379511 wikitext text/x-wiki ==Info== The final messages of the game upon completion of [[Last Job]]. Some dialogue changes based on the player's performance and completion of optional regions. ==Transcript== Always Plays {{blockquote | text = Your skilled redevelopment of the colony ensured it remained in the caring ownership of Nakatani Chemicals. For his loyalty Saito was restored to his rightful position, with a pay raise. The colony continued to grow in importance and production volume. }} Additional text if the player only completed the bare minimum number of regions before completing Last Job {{blockquote | text = Through your diligent focus many vital regional economies were restored. Though some known regions still languished without track or trains. }} Additional text if the player only completed over50% of bonus regions before completing Last Job {{blockquote | text = Thanks to your thorough efforts most regional economies are fully operational. Though rumours speak of uncharted regions still waiting to be discovered. }} Always Plays {{blockquote | text = When the disaster of warranty invalidation showed its ugly head you showed up and brought the heat. Glommer continued to honour their warranty until the end of the colony’s tax life. }} Additional text if the player completed optional region: [[CO2 WARNING REDUX]] {{blockquote | text = Thanks to your combustible efforts the Glommer Corporation continued to honour their warranty. For the colony workers, the biggest change occurred over time. Summers became hot and winters milder. Workers started a new tradition: Summer Holidays. }} Additional text if the player has obtained S-Rank on over 50% of attempted missions {{blockquote |text = Your incredible speed records became legends by which other corporations are benchmarked. Though many have tried, none have yet to surpass you. }} Additional Text if the player completed optional region: [[Gridlock]] {{blockquote |text = After your Assembra expansion, the colony enjoyed increased economic leverage. Every colony citizen was careful to maintain safe Assembra handling and the colony has continued manufacturing without incident. Always Plays {{blockquote | text = Once the Board learned the true depths of Jeff’s scheming, he was promptly demoted. Now he cleans in-flight WorkRockets. Earth is now but a distant memory for him. }} Always Plays {{blockquote | text = Your redemption was achieved. Once the Board heard of your efforts and consistent dedication, they did right by you. After a long exile, you were welcomed back to Earth. To stay. For now. }} bb2dba88c184cc03e001b5d338ee5f61f70964ac 828 827 2024-02-01T13:28:24Z Hiroteashi 379511 /* Transcript */ wikitext text/x-wiki ==Info== The final messages of the game upon completion of [[Last Job]]. Some dialogue changes based on the player's performance and completion of optional regions. ==Transcript== {{blockquote | text = Your skilled redevelopment of the colony ensured it remained in the caring ownership of Nakatani Chemicals. For his loyalty Saito was restored to his rightful position, with a pay raise. The colony continued to grow in importance and production volume. | signature = Always Plays }} {{blockquote | text = Through your diligent focus many vital regional economies were restored. Though some known regions still languished without track or trains. | signature = Additional text if the player only completed the bare minimum number of regions before completing Last Job }} {{blockquote | text = Thanks to your thorough efforts most regional economies are fully operational. Though rumours speak of uncharted regions still waiting to be discovered. | signature = Additional text if the player only completed over50% of bonus regions before completing Last Job }} {{blockquote | text = When the disaster of warranty invalidation showed its ugly head you showed up and brought the heat. Glommer continued to honour their warranty until the end of the colony’s tax life. | signature = Always Plays }} {{blockquote | text = Thanks to your combustible efforts the Glommer Corporation continued to honour their warranty. For the colony workers, the biggest change occurred over time. Summers became hot and winters milder. Workers started a new tradition: Summer Holidays. | signature = Additional text if the player completed optional region: [[CO2 WARNING REDUX]] }} {{blockquote |text = Your incredible speed records became legends by which other corporations are benchmarked. Though many have tried, none have yet to surpass you. | signature = Additional text if the player has obtained S-Rank on over 50% of attempted missions }} {{blockquote |text = After your Assembra expansion, the colony enjoyed increased economic leverage. Every colony citizen was careful to maintain safe Assembra handling and the colony has continued manufacturing without incident. | signature = Additional Text if the player completed optional region: [[Gridlock]] }} {{blockquote | text = Once the Board learned the true depths of Jeff’s scheming, he was promptly demoted. Now he cleans in-flight WorkRockets. Earth is now but a distant memory for him. | signature = Always Plays }} {{blockquote | text = Your redemption was achieved. Once the Board heard of your efforts and consistent dedication, they did right by you. After a long exile, you were welcomed back to Earth. To stay. For now. | signature = Always Plays }} 8aa43da0fe6d3f5c301c69366d40e7f149b03dcc 829 828 2024-02-01T13:28:56Z Hiroteashi 379511 wikitext text/x-wiki ==Info== The final messages of the game upon completion of [[Last Job]]. Some dialogue changes based on the player's performance and completion of optional regions. ==Transcript== {{blockquote | text = Your skilled redevelopment of the colony ensured it remained in the caring ownership of Nakatani Chemicals. For his loyalty Saito was restored to his rightful position, with a pay raise. The colony continued to grow in importance and production volume. | signature = Always Plays}} {{blockquote | text = Through your diligent focus many vital regional economies were restored. Though some known regions still languished without track or trains. | signature = Additional text if the player only completed the bare minimum number of regions before completing Last Job}} {{blockquote | text = Thanks to your thorough efforts most regional economies are fully operational. Though rumours speak of uncharted regions still waiting to be discovered. | signature = Additional text if the player only completed over50% of bonus regions before completing Last Job}} {{blockquote | text = When the disaster of warranty invalidation showed its ugly head you showed up and brought the heat. Glommer continued to honour their warranty until the end of the colony’s tax life. | signature = Always Plays}} {{blockquote | text = Thanks to your combustible efforts the Glommer Corporation continued to honour their warranty. For the colony workers, the biggest change occurred over time. Summers became hot and winters milder. Workers started a new tradition: Summer Holidays. | signature = Additional text if the player completed optional region: [[CO2 WARNING REDUX]]}} {{blockquote |text = Your incredible speed records became legends by which other corporations are benchmarked. Though many have tried, none have yet to surpass you. | signature = Additional text if the player has obtained S-Rank on over 50% of attempted missions}} {{blockquote |text = After your Assembra expansion, the colony enjoyed increased economic leverage. Every colony citizen was careful to maintain safe Assembra handling and the colony has continued manufacturing without incident. | signature = Additional Text if the player completed optional region: [[Gridlock]]}} {{blockquote | text = Once the Board learned the true depths of Jeff’s scheming, he was promptly demoted. Now he cleans in-flight WorkRockets. Earth is now but a distant memory for him. | signature = Always Plays}} {{blockquote | text = Your redemption was achieved. Once the Board heard of your efforts and consistent dedication, they did right by you. After a long exile, you were welcomed back to Earth. To stay. For now. | signature = Always Plays}} 081e404ed3633533e12f2c0d9bdb559ffd9c5574 Template:MissionInfoBox 10 177 824 532 2024-02-01T13:19:57Z Hiroteashi 379511 wikitext text/x-wiki <noinclude>[[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeM = 25 }} </noinclude> <includeonly>{| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |}</includeonly> dee6f65f741ede5699fb105c017439d34026dd48 Template:Blockquote 10 174 825 449 2024-02-01T13:22:00Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[category:templates]] <noinclude> ===Example Output=== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito, Department Head of Off World Colonies<br /> Nakatani Chemicals}} </noinclude> <includeonly><blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}>"{{{text|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla.}}}" {{#if{{{signature|}}}|<div class="templatequotecite" style="margin-left:5em"><cite>{{{signature|signed}}}</cite></div>}} </blockquote></includeonly> e0951036688c077a5b0c5b6a52aec532b7ccf7bc 826 825 2024-02-01T13:25:11Z Hiroteashi 379511 /* Example Output */ wikitext text/x-wiki <noinclude> [[category:templates]] <noinclude> <noinclude>===Example Output=== {{blockquote | text = Thanks for taking over the colony. I know you had no choice; but all the same I’m thankful. Remote administration confused me to no end. Back here on earth the sun is bright and birds are singing. I’d send you a recording but interstellar bandwidth is expensive. Please think of earth anytime the colony air gives you the coughs. Keep your mind focused and make things right, I’m sure they’ll bring you back home. Your top priority should be to restart the control terminal. I commissioned the process for you prior to your landing. You just need to complete the 3 'test' scenarios and then you'll be able to build anything you have a license for and to salvage anything you’ve built. You’ll be the sole authority on the colony planet - don’t let the power go to your head. | signature = Saito,<br/> Department Head of Off World Colonies<br /> Nakatani Chemicals}}</noinclude> <includeonly><blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}>"{{{text|Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla.}}}" {{#if:{{{signature|}}}|<div class="templatequotecite" style="margin-left:5em"><cite>{{{signature}}}</cite></div>}} </blockquote></includeonly> 17dd9e6695f2dc97acb88daa0f7fa6bfa0186cc8 Gridlock 0 292 830 2024-02-01T19:33:05Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Gridlock |number = 24 Bonus A |prevMissions = [[Prime Slime]] |biome = Boreal |money = 17000 |objectives = {{!}}Double Down{{!}}{{!}}Export an average of 4.8 Assembra per minute at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * Bank * Accountancy * Voucher Exchange Resource..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Gridlock |number = 24 Bonus A |prevMissions = [[Prime Slime]] |biome = Boreal |money = 17000 |objectives = {{!}}Double Down{{!}}{{!}}Export an average of 4.8 Assembra per minute at quest Zeppelin Dock |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = You and I both know Assembra is dangerous. Just in case the worst happens to the first region, I’d like you to set up this region as an alternative Assembra producer. You will need to save up and construct the full Assembra production chain. Wear a hardhat near all that construction - safety first, remember! | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Look on the bright side: things cannot get worse. Maybe controlling the universe's only production of Assembra will work out for the best. Build more Assembra production. After all: it cannot destroy the planet twice. A steady flow of Assembra could secure the colony’s place in the universe. | signature = Double Down }} ====Afterword==== {{blockquote | text = We don’t understand why you choose to take such a risky gamble but at least you gambled your life too. We appreciate your selflessness. Other administrators would surely have left the planet before attempting Assembra production. What is done is finished. If nothing else, we know our jobs are secure for the rest of our lives. | signature = {{Signature-jeff-2}} }} fb19584c15d31a230ce63a151f4a3295c44618a2 Clipped Wings 0 293 831 2024-02-01T19:38:51Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Clipped Wings |number = 24 Bonus B |prevMissions = [[Prime Slime]] |nextMissions = [[Incremental Maximizer]] |biome = Boreal |money = 64000 |objectives = {{!}}Clipped Wings{{!}}{{!}}Deliver 100% of required materials to MegaProject |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Destroyed Reclamation Engine]] (Quest Structure) * 1x Zeppelin..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Clipped Wings |number = 24 Bonus B |prevMissions = [[Prime Slime]] |nextMissions = [[Incremental Maximizer]] |biome = Boreal |money = 64000 |objectives = {{!}}Clipped Wings{{!}}{{!}}Deliver 100% of required materials to MegaProject |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Destroyed Reclamation Engine]] (Quest Structure) * 1x Zeppelin Dock * 4x Paperclip Stamper * 4x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = ERROR: RECLAMATION ENGINE HEAVILY DAMAGED MOBILITY: 0% CAUSE: HUMAN INTERFERENCE PRIMARY MISSION POSTPONED EXTERNAL ASSISTANCE REQUIRED CHANCE OF HUMAN COOPERATION LOW. SHORT TERM REWARD MAY IMPROVE ODDS OFFER FINANCIAL INCENTIVE FOR COOPERATION FORMULATING BROADCAST MESSAGE... REPAIR OF RECLAMATION ENGINE REQUESTED FINANCIAL OUTPUT OF ALL RESULTING PRODUCTION OFFERED PRIMARY MISSION MUST BE COMPLETED | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = We thought it was someone hacking the terminal, but tracing the signal led us to this wreckage. The examination report does show that it's repairable, though a surprising amount of its construction consists of... paperclips? Bring the wreck back online. Hopefully the reward will be worth it. | signature = Clipped Wings }} ====Afterword==== {{blockquote | text = ERROR RESOLVED: RECLAMATION ENGINE OPERATIONAL MOBILITY: 90% CAUSE: HUMAN INTERVENTION PRIMARY MISSION CAN BE RESUMED RECLAMATION OF LOCAL METALS COMPLETED RETURNING TO CENTRAL PRODUCTION FACILITY RISK REDUCTION: MAINTAIN CONTACT WITH COOPERATIVE HUMAN FOR FUTURE ASSISTANCE PRIMARY MISSION MUST BE COMPLETED | signature = {{Signature-nanashi}} }} af608b218673cc92dc376bdf06cfc0c9054fd449 Incremental Maximizer 0 294 832 2024-02-01T19:44:25Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Incremental Maximizer |number = 24 Bonus C |prevMissions = [[Clipped Wings]] |biome = Boreal |money = 47000 |objectives = {{!}}Incremental Maximizer{{!}}{{!}}Export 4096 PaperClips at quest Zeppelin Dock |partimeH = 2 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Reclamation Engine * 5x PaperClip Stamper - Level 5 * 1x Grey Ass..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Incremental Maximizer |number = 24 Bonus C |prevMissions = [[Clipped Wings]] |biome = Boreal |money = 47000 |objectives = {{!}}Incremental Maximizer{{!}}{{!}}Export 4096 PaperClips at quest Zeppelin Dock |partimeH = 2 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Reclamation Engine * 5x PaperClip Stamper - Level 5 * 1x Grey Assembly * 1x Solva * 1x Copper Mine * 4x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Silica Deposits * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = ERROR: CENTRAL PRODUCTION FACILITIES OFFLINE PRODUCTION: 2% CAUSE: ENTROPY PRODUCTION CAPABILITIES TOO LOW TO INITIATE SELF-SUSTAINABILITY EXTERNAL ASSISTANCE REQUIRED CONTACT PREVIOUS SOURCES FOR FURTHER ASSISTANCE FORMULATING BROADCAST MESSAGE... ASSISTANCE IN FUELING AND PROCESSING REQUIRED ASSISTANCE WILL RESULT IN PAPERCLIPS OUTCOME IS DESIRABLE PRIMARY MISSION MUST BE COMPLETED | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = The Reclamation Engine seems to be an AI tasked with salvage and recycling. After it stripped the previous region bare, it led us to what appears to be an Advanced Paperclip Complex. The AI clearly wants this complex running again and offered us the initial production of paperclips as payment. Fuel the Reclamation Engine so that it can salvage the ruins for resources in this otherwise sparse region. Just make sure its output hoppers don't get clogged. | signature = Incremental Maximizer }} ====Afterword==== {{blockquote | text = ERROR RESOLVED: SELF SUFFICIENCY REACHED PRODUCTION: 1034% AND INCREASING CAUSE: HUMAN INTERVENTION PRIMARY MISSION CAN BE RESUMED: PRODUCE PAPERCLIPS HUMAN INTERVENTION NO LONGER REQUIRED PRODUCTION OF NEW RECLAMATION ENGINES RESUMING PRODUCTION OF NEW FACILITIES RESUMING VON NEUMANN PROTOCOLS … ONLINE ESTIMATED LOCAL USABLE MATTER REMAINING: 3.1 SEPTILLION KILOGRAMS PRIMARY MISSION MUST BE COMPLETED PRIMARY MISSION MUST BE COMPLETED PRIMARY MISSION MUST BE COMPLETED PRIMARY MISSION WILL BE COMPLETED | signature = {{Signature-nanashi}} }} 649a65b6d9e3ef3c4dcb03c35be42fa89029f538 Dusty with a Chance of Rain 0 295 833 2024-02-01T19:50:35Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Dusty with a Chance of Rain |number = 24.5 Bonus A |prevMissions = [[Prime Slime]] |nextMissions = [[Out to the Cleaners]] |biome = Desert |money = 42000 |objectives = {{!}}Seedy Proposition{{!}}{{!}}Deliver 100% of required materials to the MegaProject |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Atmospheric Seeder]] (Quest Structure) *..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Dusty with a Chance of Rain |number = 24.5 Bonus A |prevMissions = [[Prime Slime]] |nextMissions = [[Out to the Cleaners]] |biome = Desert |money = 42000 |objectives = {{!}}Seedy Proposition{{!}}{{!}}Deliver 100% of required materials to the MegaProject |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Atmospheric Seeder]] (Quest Structure) * 1x Zeppelin Dock * 1x Geothermal * 5x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Kettle Engine ==Transcript== ====Preamble==== {{blockquote | text = This region is dry. Too dry for us to develop properly. But we have a plan to fix it. The Experimental Atmospheric Seeder (TEAS) is capable of concentrating steam and injecting it into the atmosphere to encourage precipitation on a massive scale. The rainfall will quickly transform the area into a more hospitable climate. The construction has been started on the most stable spot we could find. The local sand dunes are unstable, making it difficult to place any industry on the high ground. To help traverse the dunes the local steamworks have given you access to a modified steam engine tuned for climbing power. It may not be as impressive as the latest technology, but when you're tight on money it's some of the best torque you can get for the upkeep! | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = The Experimental Atmospheric Seeder (TEAS) is ready for construction. Once it is completed we can begin a test run of the machine. | signature = Seedy Proposition }} ====Afterword==== {{blockquote | text = There's been a problem. The water we were planning to use in The Experimental Atmospheric Seeder (TEAS) has an unknown contaminant in it. We can't be boiling that and releasing it into the air! We've shut it down until we can address the problem. We will get back to you soon. | signature = {{Signature-nanashi}} }} 1ebb78596166d15d018eecd77688d85aab38faee Out to the Cleaners 0 296 834 2024-02-01T19:57:16Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Out to the Cleaners |number = 24.5 Bonus B |prevMissions = [[Dusty with a Chance of Rain]] |nextMissions = [[Brewing up a Storm]] |biome = Savannah |money = 17000 |objectives = {{!}}Solve it with Bleach{{!}}{{!}}Produce 64 Assembra at quest Grey Assembly {{!}}- {{!}}Free Shipping{{!}}{{!}}Export 4.5 Assembra per minute at quest Zeppelin Dock partimeM = 45 }} ==Notable Region Features== Industries and Structures alr..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Out to the Cleaners |number = 24.5 Bonus B |prevMissions = [[Dusty with a Chance of Rain]] |nextMissions = [[Brewing up a Storm]] |biome = Savannah |money = 17000 |objectives = {{!}}Solve it with Bleach{{!}}{{!}}Produce 64 Assembra at quest Grey Assembly {{!}}- {{!}}Free Shipping{{!}}{{!}}Export 4.5 Assembra per minute at quest Zeppelin Dock partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x Grey Assembly - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 1x Geothermal * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = Our scientists still don't fully understand what is contaminating the water, but we don't have the time to investigate further. But we do have a short term solution. Assembra! It can eat anything. We won't even need to spend money researching what the contaminant is! It's the best possible solution for our blight problem. Once we have production up and running, we need to export the Assembra at a steady rate back to TEAS. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region has production capabilities for Assembra. Try to get the facility back online. | signature = Solve it with Bleach }} {{blockquote | text = Now that we have production up and running, we need to export the Assembra at a steady rate back to TEAS. Get to it! | signature = Free Shipping }} cffed369de284204133537496a80b6a9dabc0591 838 834 2024-02-01T20:04:32Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Out to the Cleaners |number = 24.5 Bonus B |prevMissions = [[Dusty with a Chance of Rain]] |nextMissions = [[Brewing Up a Storm]] |biome = Savannah |money = 17000 |objectives = {{!}}Solve it with Bleach{{!}}{{!}}Produce 64 Assembra at quest Grey Assembly {{!}}- {{!}}Free Shipping{{!}}{{!}}Export 4.5 Assembra per minute at quest Zeppelin Dock partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x Grey Assembly - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 1x Geothermal * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = Our scientists still don't fully understand what is contaminating the water, but we don't have the time to investigate further. But we do have a short term solution. Assembra! It can eat anything. We won't even need to spend money researching what the contaminant is! It's the best possible solution for our blight problem. Once we have production up and running, we need to export the Assembra at a steady rate back to TEAS. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region has production capabilities for Assembra. Try to get the facility back online. | signature = Solve it with Bleach }} {{blockquote | text = Now that we have production up and running, we need to export the Assembra at a steady rate back to TEAS. Get to it! | signature = Free Shipping }} 3ca67957fc91de21ad3c0e75634e80bcece6c46e Brewing Up a Storm 0 297 835 2024-02-01T20:03:09Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Brewing up a Storm |number = 24.5 |prevMissions = [[Out to the Cleaners]] |biome = Desert |money = 42000 |objectives = {{!}}A Steaming Cup of Storm{{!}}{{!}}Reach an average cycle rate of 29 per minute at the Atmospheric Seeder |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Atmospheric Seeder]] - Level 5 (Quest Structure) * 3x Steam Boiler..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Brewing up a Storm |number = 24.5 |prevMissions = [[Out to the Cleaners]] |biome = Desert |money = 42000 |objectives = {{!}}A Steaming Cup of Storm{{!}}{{!}}Reach an average cycle rate of 29 per minute at the Atmospheric Seeder |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Atmospheric Seeder]] - Level 5 (Quest Structure) * 3x Steam Boiler * 1x Import Dock - 30 Assembra per minute * 1x City - Level 2 * 1x Geothermal * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = Welcome back. We scrapped all the industry you built to save on costs and to fund the construction of a permanent city. Thanks for all your hard work. All we need to do now is feed The Experimental Atmospheric Seeder (TEAS) the Assembra, along with vast quantities of Steam from the 3 Boiler Industries. Unfortunately for you, Steam is not a valuable commodity and delivering it pays you nothing. The Assembra that we're importing in will cost you a pretty penny to use as well. Make sure you have sufficient revenue to support the TEAS's upkeep cost. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = The facility is finally ready to turn on! The region has been cleared out and a new city has been founded in preparation for maintaining the facility. Produce steam at the nearby Boilers and feed it to the (TEAS) along with the imported assembra. We have also calculated that Solva catalyst will be needed to hit the required production rate! | signature = A Steaming Cup of Storm }} ====Afterword==== {{blockquote | text = Thank you for your hard work. Clouds are forming and appear to be clear of any contaminant. Some of our scientists aren't happy with our little cleanup solution, but that's all behind us now. In a few years this region will be a bustling economic hub and should more than pay for itself. | signature = {{Signature-nanashi}} }} 0aca829bae9b61a5c3b8e2aeb21341e3d9266831 837 835 2024-02-01T20:04:13Z Hiroteashi 379511 Hiroteashi moved page [[Brewing up a Storm]] to [[Brewing Up a Storm]] without leaving a redirect wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Brewing up a Storm |number = 24.5 |prevMissions = [[Out to the Cleaners]] |biome = Desert |money = 42000 |objectives = {{!}}A Steaming Cup of Storm{{!}}{{!}}Reach an average cycle rate of 29 per minute at the Atmospheric Seeder |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Atmospheric Seeder]] - Level 5 (Quest Structure) * 3x Steam Boiler * 1x Import Dock - 30 Assembra per minute * 1x City - Level 2 * 1x Geothermal * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = Welcome back. We scrapped all the industry you built to save on costs and to fund the construction of a permanent city. Thanks for all your hard work. All we need to do now is feed The Experimental Atmospheric Seeder (TEAS) the Assembra, along with vast quantities of Steam from the 3 Boiler Industries. Unfortunately for you, Steam is not a valuable commodity and delivering it pays you nothing. The Assembra that we're importing in will cost you a pretty penny to use as well. Make sure you have sufficient revenue to support the TEAS's upkeep cost. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = The facility is finally ready to turn on! The region has been cleared out and a new city has been founded in preparation for maintaining the facility. Produce steam at the nearby Boilers and feed it to the (TEAS) along with the imported assembra. We have also calculated that Solva catalyst will be needed to hit the required production rate! | signature = A Steaming Cup of Storm }} ====Afterword==== {{blockquote | text = Thank you for your hard work. Clouds are forming and appear to be clear of any contaminant. Some of our scientists aren't happy with our little cleanup solution, but that's all behind us now. In a few years this region will be a bustling economic hub and should more than pay for itself. | signature = {{Signature-nanashi}} }} 0aca829bae9b61a5c3b8e2aeb21341e3d9266831 839 837 2024-02-01T20:05:06Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Brewing Up a Storm |number = 24.5 |prevMissions = [[Out to the Cleaners]] |biome = Desert |money = 42000 |objectives = {{!}}A Steaming Cup of Storm{{!}}{{!}}Reach an average cycle rate of 29 per minute at the Atmospheric Seeder |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Atmospheric Seeder]] - Level 5 (Quest Structure) * 3x Steam Boiler * 1x Import Dock - 30 Assembra per minute * 1x City - Level 2 * 1x Geothermal * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = Welcome back. We scrapped all the industry you built to save on costs and to fund the construction of a permanent city. Thanks for all your hard work. All we need to do now is feed The Experimental Atmospheric Seeder (TEAS) the Assembra, along with vast quantities of Steam from the 3 Boiler Industries. Unfortunately for you, Steam is not a valuable commodity and delivering it pays you nothing. The Assembra that we're importing in will cost you a pretty penny to use as well. Make sure you have sufficient revenue to support the TEAS's upkeep cost. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = The facility is finally ready to turn on! The region has been cleared out and a new city has been founded in preparation for maintaining the facility. Produce steam at the nearby Boilers and feed it to the (TEAS) along with the imported assembra. We have also calculated that Solva catalyst will be needed to hit the required production rate! | signature = A Steaming Cup of Storm }} ====Afterword==== {{blockquote | text = Thank you for your hard work. Clouds are forming and appear to be clear of any contaminant. Some of our scientists aren't happy with our little cleanup solution, but that's all behind us now. In a few years this region will be a bustling economic hub and should more than pay for itself. | signature = {{Signature-nanashi}} }} 118c718db59351f5d468ab78e3ed98e77ac11269 Category:Missions 14 11 836 762 2024-02-01T20:03:44Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |} 047aacddec5aa1b43db190a086c4dd858beb3d9f 845 836 2024-02-01T20:26:23Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 0cdfb12bb0e68c95c50bbe95565a74b17781dde4 Snow Spearhead 0 298 840 2024-02-01T20:19:41Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Snow Spearhead |number = 25 Bonus |prevMissions = [[]] |nextMissions = [[]] |biome = |money = |objectives = {{!}}Spearhead{{!}}{{!}}Increase Spearhead City's population by 4 |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * City Resources Train - 3x Bullet Engine, 10x Steel, 5x Energy, 2x Furniture, 1x Luxury Room, 1x Television freight cars * 1x Spearhead [..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Snow Spearhead |number = 25 Bonus |prevMissions = [[]] |nextMissions = [[]] |biome = |money = |objectives = {{!}}Spearhead{{!}}{{!}}Increase Spearhead City's population by 4 |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * City Resources Train - 3x Bullet Engine, 10x Steel, 5x Energy, 2x Furniture, 1x Luxury Room, 1x Television freight cars * 1x Spearhead [[City]] - Level 4(Quest Structure) * 3x Coal Mine - Level 5 * 2x Furniture Assembler * 1x CPU Fab - Level 1 * 1 Neon Refinery - Level 1 * 3x Coal Gassifier * Intermediates Train - 1x Spark, 2x DieselDeluxe Engine, 4x Glass, 4x CPU, 4x Plastic, 8x Wire freight cars * 1x City - Level 3 * 1x Tube Plant - Level 4 * 1x Luxury Assembler * 1x Hull Yard * 2x Hardmold * Raw Materials Train - 2x Rescue, 2x Industrial Engine, 8x Coal, 8x Silica, 8x Copper, 8x Iron, 4x Waste freight cars * 1x City - Level 2 * 1x Coal Powerplant - Level 1 * 1x Glass Smelter * 1x Steel Mill - Level 1 * 2x Wire Coiler * 1x Iron Mine - Level 5 * 1x Copper Mine - Level 5 * Bank * Accountancy * Voucher Exchange ==Transcript== ====Preamble==== {{blockquote | text = Congratulations! You are now months behind schedule. The schedule I told the board that is. LOL. Your task was simple; grow a single city a single growth cycle. Such a quick task, yet you’ve ignored it for ages. Almost as if no one ever told you about it… Oh well. Better do that now. Also no new trains. For “budget” reasons. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Your puzzle is to grow the region’s largest and wealthiest City: Spearhead. Under your control: a Resource Train, an Intermediates Train, and the final Growth train. The Growth train when loaded to capacity and delivered to the correct city will supply one cycle of growth thus completing your task. Figuring out the rest is up to you. | signature = Spearhead }} ====Afterword==== {{blockquote | text = The board was surprised and disappointed to hear you required such long preparation time for such a short task. Saito had given them a wrongly elevated opinion of your abilities. All this time they thought it was your efforts and skill which had returned the colony to prosperity. | signature = {{Signature-jeff-2}} }} 3cba00bdad3880909df87823745d5c82082db325 841 840 2024-02-01T20:21:11Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Snow Spearhead |number = 25 Bonus |prevMissions = [[Flying Steel]] |biome = Tundra |money = 47000 |objectives = {{!}}Spearhead{{!}}{{!}}Increase Spearhead City's population by 4 |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * City Resources Train - 3x Bullet Engine, 10x Steel, 5x Energy, 2x Furniture, 1x Luxury Room, 1x Television freight cars * 1x Spearhead [[City]] - Level 4(Quest Structure) * 3x Coal Mine - Level 5 * 2x Furniture Assembler * 1x CPU Fab - Level 1 * 1 Neon Refinery - Level 1 * 3x Coal Gassifier * Intermediates Train - 1x Spark, 2x DieselDeluxe Engine, 4x Glass, 4x CPU, 4x Plastic, 8x Wire freight cars * 1x City - Level 3 * 1x Tube Plant - Level 4 * 1x Luxury Assembler * 1x Hull Yard * 2x Hardmold * Raw Materials Train - 2x Rescue, 2x Industrial Engine, 8x Coal, 8x Silica, 8x Copper, 8x Iron, 4x Waste freight cars * 1x City - Level 2 * 1x Coal Powerplant - Level 1 * 1x Glass Smelter * 1x Steel Mill - Level 1 * 2x Wire Coiler * 1x Iron Mine - Level 5 * 1x Copper Mine - Level 5 * Bank * Accountancy * Voucher Exchange ==Transcript== ====Preamble==== {{blockquote | text = Congratulations! You are now months behind schedule. The schedule I told the board that is. LOL. Your task was simple; grow a single city a single growth cycle. Such a quick task, yet you’ve ignored it for ages. Almost as if no one ever told you about it… Oh well. Better do that now. Also no new trains. For “budget” reasons. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Your puzzle is to grow the region’s largest and wealthiest City: Spearhead. Under your control: a Resource Train, an Intermediates Train, and the final Growth train. The Growth train when loaded to capacity and delivered to the correct city will supply one cycle of growth thus completing your task. Figuring out the rest is up to you. | signature = Spearhead }} ====Afterword==== {{blockquote | text = The board was surprised and disappointed to hear you required such long preparation time for such a short task. Saito had given them a wrongly elevated opinion of your abilities. All this time they thought it was your efforts and skill which had returned the colony to prosperity. | signature = {{Signature-jeff-2}} }} 0c69eea4afc3c2ccb84aa4f70ff7d749d4475b42 842 841 2024-02-01T20:22:09Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Snow Spearhead |number = 25 Bonus |prevMissions = [[Flying Steel]] |biome = Tundra |money = 47000 |objectives = {{!}}Spearhead{{!}}{{!}}Increase Spearhead City's population by 4 |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * City Resources Train - 3x Bullet Engine, 10x Steel, 5x Energy, 2x Furniture, 1x Luxury Room, 1x Television freight cars * 1x Spearhead [[City]] - Level 4 (Quest Structure) * 3x Coal Mine - Level 5 * 2x Furniture Assembler * 1x CPU Fab - Level 1 * 1 Neon Refinery - Level 1 * 3x Coal Gassifier * Intermediates Train - 1x Spark, 2x DieselDeluxe Engine, 4x Glass, 4x CPU, 4x Plastic, 8x Wire freight cars * 1x City - Level 3 * 1x Tube Plant - Level 4 * 1x Luxury Assembler * 1x Hull Yard * 2x Hardmold * Raw Materials Train - 2x Rescue, 2x Industrial Engine, 8x Coal, 8x Silica, 8x Copper, 8x Iron, 4x Waste freight cars * 1x City - Level 2 * 1x Coal Powerplant - Level 1 * 1x Glass Smelter * 1x Steel Mill - Level 1 * 2x Wire Coiler * 1x Iron Mine - Level 5 * 1x Copper Mine - Level 5 * Bank * Accountancy * Voucher Exchange ==Transcript== ====Preamble==== {{blockquote | text = Congratulations! You are now months behind schedule. The schedule I told the board that is. LOL. Your task was simple; grow a single city a single growth cycle. Such a quick task, yet you’ve ignored it for ages. Almost as if no one ever told you about it… Oh well. Better do that now. Also no new trains. For “budget” reasons. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Your puzzle is to grow the region’s largest and wealthiest City: Spearhead. Under your control: a Resource Train, an Intermediates Train, and the final Growth train. The Growth train when loaded to capacity and delivered to the correct city will supply one cycle of growth thus completing your task. Figuring out the rest is up to you. | signature = Spearhead }} ====Afterword==== {{blockquote | text = The board was surprised and disappointed to hear you required such long preparation time for such a short task. Saito had given them a wrongly elevated opinion of your abilities. All this time they thought it was your efforts and skill which had returned the colony to prosperity. | signature = {{Signature-jeff-2}} }} 6a9bbebab1d5975e7c0036f2c2647fb519ccbc97 843 842 2024-02-01T20:22:58Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Snow Spearhead |number = 25 Bonus |prevMissions = [[Flying Steel]] |biome = Tundra |money = 47000 |objectives = {{!}}Spearhead{{!}}{{!}}Increase Spearhead City's population by 4 |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * City Resources Train - 3x Bullet Engine, 10x Steel, 5x Energy, 2x Furniture, 1x Luxury Room, 1x Television freight cars * 1x Spearhead [[City]] - Level 4 (Quest Structure) * 3x Coal Mine - Level 5 * 2x Furniture Assembler * 1x CPU Fab - Level 1 * 1 Neon Refinery - Level 1 * 3x Coal Gassifier * Intermediates Train - 1x Spark, 2x DieselDeluxe Engine, 4x Glass, 4x CPU, 4x Plastic, 8x Wire freight cars * 1x City - Level 3 * 1x Tube Plant - Level 4 * 1x Luxury Assembler * 1x Hull Yard * 2x Hardmold * Raw Materials Train - 2x Rescue, 2x Industrial Engine, 8x Coal, 8x Silica, 8x Copper, 8x Iron, 4x Waste freight cars * 1x City - Level 2 * 1x Coal Powerplant - Level 1 * 1x Glass Smelter * 1x Steel Mill - Level 1 * 2x Wire Coiler * 1x Iron Mine - Level 5 * 1x Copper Mine - Level 5 * Bank * Accountancy * Voucher Exchange ==Transcript== ====Preamble==== {{blockquote | text = Congratulations! You are now months behind schedule. The schedule I told the board that is. LOL. Your task was simple; grow a single city a single growth cycle. Such a quick task, yet you’ve ignored it for ages. Almost as if no one ever told you about it… Oh well. Better do that now. Also no new trains. For “budget” reasons. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Your puzzle is to grow the region’s largest and wealthiest City: Spearhead. Under your control: a Resource Train, an Intermediates Train, and the final Growth train. The Growth train when loaded to capacity and delivered to the correct city will supply one cycle of growth thus completing your task. Figuring out the rest is up to you. | signature = Spearhead }} ====Afterword==== {{blockquote | text = The board was surprised and disappointed to hear you required such long preparation time for such a short task. Saito had given them a wrongly elevated opinion of your abilities. All this time they thought it was your efforts and skill which had returned the colony to prosperity. | signature = {{Signature-jeff-2}} }} e9e2042be1e2b1c4c8aa61b1133f38db4634c769 844 843 2024-02-01T20:23:07Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Snow Spearhead |number = 25 Bonus |prevMissions = [[Flying Steel]] |biome = Tundra |money = 47000 |objectives = {{!}}Spearhead{{!}}{{!}}Increase Spearhead City's population by 4 |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * City Resources Train - 3x Bullet Engine, 10x Steel, 5x Energy, 2x Furniture, 1x Luxury Room, 1x Television freight cars * 1x Spearhead [[City]] - Level 4 (Quest Structure) * 3x Coal Mine - Level 5 * 2x Furniture Assembler * 1x CPU Fab - Level 1 * 1 Neon Refinery - Level 1 * 3x Coal Gassifier * Intermediates Train - 1x Spark, 2x DieselDeluxe Engine, 4x Glass, 4x CPU, 4x Plastic, 8x Wire freight cars * 1x City - Level 3 * 1x Tube Plant - Level 4 * 1x Luxury Assembler * 1x Hull Yard * 2x Hardmold * Raw Materials Train - 2x Rescue, 2x Industrial Engine, 8x Coal, 8x Silica, 8x Copper, 8x Iron, 4x Waste freight cars * 1x City - Level 2 * 1x Coal Powerplant - Level 1 * 1x Glass Smelter * 1x Steel Mill - Level 1 * 2x Wire Coiler * 1x Iron Mine - Level 5 * 1x Copper Mine - Level 5 * Bank * Accountancy * Voucher Exchange ==Transcript== ====Preamble==== {{blockquote | text = Congratulations! You are now months behind schedule. The schedule I told the board that is. LOL. Your task was simple; grow a single city a single growth cycle. Such a quick task, yet you’ve ignored it for ages. Almost as if no one ever told you about it… Oh well. Better do that now. Also no new trains. For “budget” reasons. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Your puzzle is to grow the region’s largest and wealthiest City: Spearhead. Under your control: a Resource Train, an Intermediates Train, and the final Growth train. The Growth train when loaded to capacity and delivered to the correct city will supply one cycle of growth thus completing your task. Figuring out the rest is up to you. | signature = Spearhead }} ====Afterword==== {{blockquote | text = The board was surprised and disappointed to hear you required such long preparation time for such a short task. Saito had given them a wrongly elevated opinion of your abilities. All this time they thought it was your efforts and skill which had returned the colony to prosperity. | signature = {{Signature-jeff-2}} }} fe40fa17816bb178954e67407f1d25f2ffd18a97 Trinity 0 299 847 2024-02-01T20:34:02Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Trinity |number = 27 Bonus A |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Triple Trouble{{!}}{{!}}Reach 2048 population at quest City {{!}}- {{!}}Public Appeal{{!}}{{!}}Launch 1 of each Rocket type for a population influx |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x SpaceLin..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Trinity |number = 27 Bonus A |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Triple Trouble{{!}}{{!}}Reach 2048 population at quest City {{!}}- {{!}}Public Appeal{{!}}{{!}}Launch 1 of each Rocket type for a population influx |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x SpaceLiner Platform * 1x Compute Platform * 1x Work Rocket Platform * 1x Zeppelin Dock * 1x Import Dock - importing 64 Steel per minute * 1x Import Dock - importing 64 Plastic per minute * 1x Import Dock - importing 64 Reactives per minute * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Water Pump Industry Upon Mission Completion * Workhorse Engine ==Transcript== ====Objective Text==== {{blockquote | text = A challenge approaches! Under take the largest production chain build out ever attempted on this colony. Grow the City! Launch every type of Rocket! This triple challenge is for you! | signature = Triple Trouble }} {{blockquote | text = Launching one of each type of rocket will increase the prestige of the CITY, causing a one-time influx of population each. | signature = Public Appeal }} 686fff0bf1f64bf93c5e695faafe4d4d26dfefc0 848 847 2024-02-01T20:35:55Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Trinity |number = 27 Bonus A |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Triple Trouble{{!}}{{!}}Reach 2048 population at quest City {{!}}- {{!}}Public Appeal{{!}}{{!}}Launch 1 of each Rocket type for a population influx |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x SpaceLiner Platform * 1x Compute Platform * 1x Work Rocket Platform * 1x Zeppelin Dock * 1x Import Dock - importing 64 Steel per minute * 1x Import Dock - importing 64 Plastic per minute * 1x Import Dock - importing 64 Reactives per minute * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = A challenge approaches! Under take the largest production chain build out ever attempted on this colony. Grow the City! Launch every type of Rocket! This triple challenge is for you! | signature = Triple Trouble }} {{blockquote | text = Launching one of each type of rocket will increase the prestige of the CITY, causing a one-time influx of population each. | signature = Public Appeal }} 10f0dbff946617ecfa7d056a9ef79b03672dd23e The Lap of Luxury 0 300 849 2024-02-01T20:38:14Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Lap of Luxury |number = 27 Bonus B |prevMissions = [[Last Job]] |biome = Tundra |money = 7000 |objectives = {{!}}Shuffling Workers{{!}}{{!}}Launch 2 SpaceLiners at quest Platform |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[SpaceLiner Platform]] (Quest Structure) * 1x Zeppelin Dock * 1x Oil Powerplant - Level 5 * 4x Oil Well - Level 5 * 1x Worker Hous..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Lap of Luxury |number = 27 Bonus B |prevMissions = [[Last Job]] |biome = Tundra |money = 7000 |objectives = {{!}}Shuffling Workers{{!}}{{!}}Launch 2 SpaceLiners at quest Platform |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[SpaceLiner Platform]] (Quest Structure) * 1x Zeppelin Dock * 1x Oil Powerplant - Level 5 * 4x Oil Well - Level 5 * 1x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Up for a challenge? With a mere 20 Workers, launch a couple Spaceliners. | signature = Shuffling Workers }} 74d643152b6ba57fa21f566b350846574bb36d04 Looking for a Silver Liner 0 301 850 2024-02-01T20:44:56Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Looking for a Silver Liner |number = 27 Bonus C |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Luxury Liners{{!}}{{!}}Launch 8 SpaceLiners at quest Platform |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[SpaceLiner Platform]] (Quest Structure) * 1x Zeppelin Dock * 1x City - Level 4 * 2x Tube Plant - Level 4..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Looking for a Silver Liner |number = 27 Bonus C |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Luxury Liners{{!}}{{!}}Launch 8 SpaceLiners at quest Platform |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[SpaceLiner Platform]] (Quest Structure) * 1x Zeppelin Dock * 1x City - Level 4 * 2x Tube Plant - Level 4 * 1x Luxury Assembler - Level 2 * 2x Rocker Factory - Level 2 * 2x Furniture Assembler - Level 5 * 2x Booster Plant - Level 2 * 1x CPU Fab - Level 2 * 1x Hardmold - Level 5 * 1x Concrete Yard - Level 5 * 1x Salt Refinery - Level 5 * 2x Coal Mine - Level 5 * 2x Silica Quarry - Level 5 * 1x Water Pump - Level 5 * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Welcome to the luxurious Spaceliners industrial chain. Filled with the highest standard of Luxury Rooms and TVs in all compartments, only Earthers can afford tickets! You and your fellow Colony workers should feel honoured to witness such exclusive luxury. If you can handle the complexity of building them in this mountainous region that is. | signature = Luxury Liners }} d252640dde3383847de01fadcf80f3f9a6e7e9fb Exos Nil 0 302 851 2024-02-01T20:49:35Z Hiroteashi 379511 Created page with "==Info== [[Category:missions]] {{missionInfoBox |name = Exos Nil |number = 27 Bonus D |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Exos Nil{{!}}{{!}}Launch 8 SpaceLiners at quest Platform |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[The Mechanist]] (Quest Structure) * 1x Zeppelin Dock * 1x Import Dock - Importing 64 Coal per Minute * 1x Import Dock - Importin..." wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Exos Nil |number = 27 Bonus D |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Exos Nil{{!}}{{!}}Launch 8 SpaceLiners at quest Platform |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[The Mechanist]] (Quest Structure) * 1x Zeppelin Dock * 1x Import Dock - Importing 64 Coal per Minute * 1x Import Dock - Importing 64 Crude Oil per Minute * 1x Import Dock - Importing 32 Water per Minute * 1x Import Dock - Importing 32 Silica per Minute * 1x Import Dock - Importing 16 Copper per Minute * 1x Import Dock - Importing 16 Iron per Minute * 4x Worker Housing * Bank * Accountancy * Voucher Exchange ==Transcript== ====Objective Text==== {{blockquote | text = A mysterious message has overpowered itself onto your terminal. It speaks of gifts for all and emplores you to supply ""The Mechanist"" with fresh arms. Robot Arms to be exact. In exchange you'll be rewarded deerly. Resources have been diverted from across the regions. Assembra Catalyst will be required. Who ever sent this message is special. | signature = Exos Nil }} f86c0cf59263327507e9c9a4e8c64a6286efffdd Module:Industry/Data 828 303 852 2024-02-02T06:17:06Z Hiroteashi 379511 Created page with "local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0,..." Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Cooper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electonics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["Worker Rocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } p.industry = industry return p 94c0a80071011f56e4ebcf0231592ee6244e83d2 867 852 2024-02-02T07:19:05Z Hiroteashi 379511 Hiroteashi moved page [[Module:IndustryData]] to [[Module:Industry/Data]] without leaving a redirect Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Cooper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electonics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["Worker Rocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } p.industry = industry return p 94c0a80071011f56e4ebcf0231592ee6244e83d2 Module:IndustryParse 828 304 853 2024-02-02T06:42:53Z Hiroteashi 379511 Created page with "local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industr..." Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if item == nil then return "unable to find item, check spelling or capitalization" else return industry end end return p a18bf71a6560cc2dcd376298b16c798576a5a217 855 853 2024-02-02T06:45:13Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if item == nil then return "unable to find item, check spelling or capitalization" else return industry end end return p f89e494cd1daf6baad56c3751e6fa1540a50d0e7 857 855 2024-02-02T06:48:23Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if item == nil then return industry else return industry end end return p d6bccfb65be1ee2f45005870cd7fdb477f0eaf51 858 857 2024-02-02T06:49:21Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if item == nil then return "Industry not found. Check spelling or capitalization" else return industry end end return p 3620e965f1aaf94603c6a1954f0d588ab6d6b6a2 859 858 2024-02-02T06:50:07Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if item == nil then return "Industry not found. Check spelling or capitalization"..industryName else return industry end end return p 087acbbbd2c80e5377f3badf81b9aa52bffc1d37 860 859 2024-02-02T06:53:36Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then return "Industry not found. Check spelling or capitalization" else return industry end end function printTable(industryName) end return p 109e6701eb793647e30711fbcbb2c93fe0f4274f 861 860 2024-02-02T07:05:03Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then --return "Industry not found. Check spelling or capitalization" return p.printTable(industry) else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do string = string .. k .. "-" .. v .. ',<br />' end return string end return p c830c68eb0cc4ec75e944dfa41c090e1a3cd03f1 862 861 2024-02-02T07:05:46Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then --return "Industry not found. Check spelling or capitalization" return p.printTable(data) else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do string = string .. k .. "-" .. v .. ',<br />' end return string end return p 5df7cafdb33265f6a5a81b40f4c7674ba70a92aa 863 862 2024-02-02T07:07:03Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then --return "Industry not found. Check spelling or capitalization" return p.printTable(data) else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if typeof(v) ~= "table" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 65d8c78d2e83ba648d35b1b5d8e12c7c3cddb23c 864 863 2024-02-02T07:07:31Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then --return "Industry not found. Check spelling or capitalization" return p.printTable(data) else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "table" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p a7e328e16fa9dbd53bc138501f337da34f886ebe 865 864 2024-02-02T07:08:19Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then --return "Industry not found. Check spelling or capitalization" return p.printTable(data) else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "table" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p e91829bd5479d41539d2a6b625600c113fd7f399 866 865 2024-02-02T07:10:21Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:IndustryData") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then --return "Industry not found. Check spelling or capitalization" return p.printTable(industry) else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "table" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p c4e8e2d32544cca5f616c61ff99e7707c0c23690 868 866 2024-02-02T07:19:54Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:Industry/Data") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then return "Industry not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "table" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 088e5ad859094e059b1eba1d3e6e98d2d965f62b 874 868 2024-02-02T07:31:55Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:Industry/Data") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then mw.logObject(industryName) return "Industry not found. Check spelling or capitalization"..industryName else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "table" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p.printTable(data) --return p 358a5c700d28ceba107431bce5584404588b7f4c 875 874 2024-02-02T07:33:31Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:Industry/Data") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) --[[if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then mw.logObject(industryName) return "Industry not found. Check spelling or capitalization"..industryName else return industry end--]] p.printTable(industryName) end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "table" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 69d788e053c01e7ecc0535a03164b687ce10c9d6 876 875 2024-02-02T07:34:30Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:Industry/Data") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(industryName) --[[if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then mw.logObject(industryName) return "Industry not found. Check spelling or capitalization"..industryName else return industry end--]] p.printTable(industryName) end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p bf8a02792f72010fecc83fc1c3fa71b064e049dc 877 876 2024-02-02T07:35:52Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:Industry/Data") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(frame) local industryName = frame.args[1] --[[if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then mw.logObject(industryName) return "Industry not found. Check spelling or capitalization"..industryName else return industry end--]] p.printTable(industryName) end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 6643a6649c7bc34599ba0e556ea4ac0721118e28 878 877 2024-02-02T07:36:27Z Hiroteashi 379511 Scribunto text/plain local p = {} local data = require("Module:Industry/Data") local industry = data.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industry[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end local industry = industry[industryName] if industry == nil then mw.logObject(industryName) return "Industry not found. Check spelling or capitalization"..industryName else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 4555fc928bf030cfc3c84e614c5b2c4d6e1b9a1b 879 878 2024-02-02T07:45:01Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(industryName) local industry = industryData[industryName] return frame:preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end if industryData[industryName] == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industryName) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p b3922f1327e376d7565a9594e19ad03961e2388f 880 879 2024-02-02T07:45:20Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(industryName) local industry = industryData[industryName] return preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end if industryData[industryName] == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industryName) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 2b3f9fc4122244f67a91aa1fef7c2c21d980f171 881 880 2024-02-02T07:47:04Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industryData[industryName] return preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end if industryData[industryName] == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industry[industryName]) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 4d3d3b676a4970e47681f229695fb5e3c272ceb0 882 881 2024-02-02T07:47:53Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industryData[industryName] return preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end if industryData[industryName] == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industryData[industryName]) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 43dfd7b5e1e9fe185a879fb9df0f58f27cd815b5 883 882 2024-02-02T07:49:48Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] local industry = industryData[industryName] return preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 4a9c9df498f8993429a9370d63e10a6995ae0049 884 883 2024-02-02T07:50:13Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryDetailTemplate = [=[ {{industryDetail | name = %s | cost = %s | catalyst = %s | recipeTime = %s | workers = %s }}]=] function p.industryDetailBox(frame) local industryName = frame.args[1] ~= "" or "Oil Well" local industry = industryData[industryName] return preprocess(industryDetailTemplate:format( industryName, industry.cost, industry.workers, industry.recipeTime, industry.catalyst )) end function p.getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p fa8baa78f43248d72ed80e25e7ef9714cf59e5a9 885 884 2024-02-02T08:12:11Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ |- | %s || %s ]=] function p.industryTableRow(Frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = industryTableFormat:format(industryName, industry.cost) return frame:preprocess(row) end function getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 2b80389906bdfba6fafca8e7b3f844e97c70bb08 886 885 2024-02-02T08:12:52Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ |- | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = industryTableFormat:format(industryName, industry.cost) return frame:preprocess(row) end function getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 93eb470552d701379be806ed3e6b2d800e87ee83 887 886 2024-02-02T08:20:00Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ |- | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[2] local industry = getIndustry(industryName) local row = industryTableFormat:format(industryName, industry.cost) return frame:preprocess(row) end function getIndustry(frame) local industryName = frame.args[1] if(industryName == nil) then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 242d143ba1dcdb194cab3ab5a1ae52b9ef7dfa29 888 887 2024-02-02T08:44:00Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ |- | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[2] local industry = getIndustry(industryName) local row = industryTableFormat:format(industryName, industry.cost) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil) then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 60f96e040b11e78ff8b07b4ded2fe32c79e012ae 889 888 2024-02-02T08:44:57Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ |- | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = industryTableFormat:format(industryName, industry.cost) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryDetailBox(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p f76237f4544211d0195932afaf9da17744dc6f8a 890 889 2024-02-02T08:46:28Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ |- | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = industryTableFormat:format(industryName, industry.cost) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryTableRow(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p effe1675b14bb9122b9c79a4c2e3e31a47f3c919 891 890 2024-02-02T09:00:34Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry.cost) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryTableRow(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 5035c9fa7a7cac4b56634050e1a3318523373134 892 891 2024-02-02T09:01:54Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industryName) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryTableRow(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 20417802244669406842c56faaff2d625799b1fe 893 892 2024-02-02T09:03:21Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industryName) return printTable(frame.args) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryTableRow(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p fda94bba3447cbfb2ec7070e053e38110d546f8b 894 893 2024-02-02T09:03:46Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industryName) return p.printTable(frame.args) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryTableRow(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 06a0258421f56a0e4d78b5c69e1c5c856c50d913 896 894 2024-02-02T09:08:44Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[ | %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industryName) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryTableRow(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 20417802244669406842c56faaff2d625799b1fe 900 896 2024-02-02T09:17:14Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry.cost) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryTableRow(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p a5857dd1c075ed7ec002be3d04de5c134d607dc1 901 900 2024-02-02T09:18:18Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(industry) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return p.industryTableRow(industry) end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p f739dd264df4829d74cd88d60508a9c8c3b57b20 User:Hiroteashi/sandbox 2 129 854 496 2024-02-02T06:44:11Z Hiroteashi 379511 wikitext text/x-wiki {{#invoke:industryParse|getIndustry|Solva}} e4b3ba52c72ac070bb5bf23572d4d4b7b8583977 856 854 2024-02-02T06:46:42Z Hiroteashi 379511 wikitext text/x-wiki {{#invoke:industryParse|getIndustry|"Water Pump"}} 3757bb3a938cc9c7a65951de400a18f60b4e232d 869 856 2024-02-02T07:27:51Z Hiroteashi 379511 wikitext text/x-wiki {{#invoke:industryParse|getIndustry|Water Pump|Water Pump}} 0b6fae2d25a12ccfc1d57eea3588bce0b58ab345 895 869 2024-02-02T09:06:33Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable sortable" |- ! Name !! Cost |- {{#invoke:industryParse|industryTableRow|Water Pump}} |} 31ec0e190de57e2e74fe10411768da5e55026eec User:Hiroteashi 2 128 870 470 2024-02-02T07:28:19Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]] [[/sandbox2]] [[module:partimeParse]] [[Special:AllPages?from=&to=&namespace=828]] 9d9dfa398281166e65dc6d34106f7a48b9c971b8 871 870 2024-02-02T07:29:41Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]] [[/sandbox2]] [[module:partimeParse]] [[Special:AllPages?from=&to=&namespace=828|module namespace]] 1a3f4b605166726fe4482ce337be4302c1357456 872 871 2024-02-02T07:30:01Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]] [[/sandbox2]] [[module:partimeParse]] [https://railgrade.wiki.gg/wiki/Special:AllPages?from=&to=&namespace=828 module namespace] 36d2c9d8fabbce37ab395adc61b5ebda30964fb8 873 872 2024-02-02T07:30:17Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]]<br /> [[/sandbox2]]<br /> [[module:partimeParse]]<br /> [https://railgrade.wiki.gg/wiki/Special:AllPages?from=&to=&namespace=828 module namespace] 43793357d5b6ea27e916aeb8019a41e47f4e2c93 897 873 2024-02-02T09:14:22Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]]<br /> [[/sandbox2]]<br /> [[module:partimeParse]]<br /> [[module:industry/data]]<br /> [https://railgrade.wiki.gg/wiki/Special:AllPages?from=&to=&namespace=828 module namespace] 67d76358bf0c27b0f995df96c1693af369435c23 898 897 2024-02-02T09:16:08Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]]<br /> [[/sandbox2]]<br /> [[module:partimeParse]]<br /> [[module:Industry/Data]]<br /> [https://railgrade.wiki.gg/wiki/Special:AllPages?from=&to=&namespace=828 module namespace] b39a54c3634c4e447145dce2f3f4bd0fa37f2f74 899 898 2024-02-02T09:16:43Z Hiroteashi 379511 wikitext text/x-wiki [[/sandbox]]<br /> [[/sandbox2]]<br /> [[module:IndustryParse]]<br /> [[module:Industry/Data]]<br /> [https://railgrade.wiki.gg/wiki/Special:AllPages?from=&to=&namespace=828 module namespace] 9fbdd9e199a0e84a103cc619696506cd2887d02c Module:IndustryParse 828 304 902 901 2024-02-02T09:19:42Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(industry) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 334f33a703d661b0a4559a64b026dfe74abb28fd 903 902 2024-02-02T09:20:09Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industry --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 8199d5cbcc822e63cc1e2b981db596450ffc1ea9 904 903 2024-02-02T09:20:40Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(industryData) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 5a42790c88d5829fae2ebd40640dc51e2b5122bf 905 904 2024-02-02T09:21:33Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(industryData) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" or type(v) ~= "number" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 4bddddf135dcbe0f9da18ec5dfaf2598471c2511 906 905 2024-02-02T09:22:22Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(industryData) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" and type(v) ~= "number" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p 0118c37e250ab30d6e49df1738eebe51e68a2bf3 907 906 2024-02-02T09:22:46Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(rawImport) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" and type(v) ~= "number" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p a953f2dcd130a635b13581e4a8d2cff4734664d0 908 907 2024-02-02T09:25:16Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local test = {} test.name = "name" text.baffles = 1 return p.printTable(test) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" and type(v) ~= "number" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p eb249fd9dfa1d4a0eb1964d60b9e1dff2c1eeb91 909 908 2024-02-02T09:27:08Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local test = {} test.name = "name" test.baffles = 1 return p.printTable(test) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) ~= "string" and type(v) ~= "number" then p.printTable(v) else string = string .. k .. "-" .. v .. ',<br />' end end return string end return p ecc321eb9972e029b2b4c304c1411edf75b1694b 910 909 2024-02-02T09:28:51Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local test = {} test.name = "name" test.baffles = 1 return p.printTable(test) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "string" or type(v) == "number" then string = string .. tostring(k) .. "-" .. v .. ',<br />' else end end return string end return p 9a85be2641d99afa4d17189e42ab3bfc87aeface 911 910 2024-02-02T09:29:08Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(industryData) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "string" or type(v) == "number" then string = string .. tostring(k) .. "-" .. v .. ',<br />' else end end return string end return p 8395441f7e5f5c0d3a3dc635fde9f5ffe984e454 912 911 2024-02-02T09:29:25Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(rawImport) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "string" or type(v) == "number" then string = string .. tostring(k) .. "-" .. v .. ',<br />' else end end return string end return p 3a899258ceeae186f45cbbbf73efcc765956de6d 913 912 2024-02-02T09:30:24Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(rawImport) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end function p.printTable(table) local string = "" for k,v in pairs(table) do if type(v) == "string" or type(v) == "number" then string = string .. tostring(k) .. "-" .. v .. ',<br />' elseif type(v) == "table" then return p.printTable(v) end end return string end return p 588524a455c5de58ef26bbfbc1d9fb0dbe2e1674 914 913 2024-02-02T09:37:31Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(rawImport) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end --debug and print a table's constants function p.printTable(table,depth,tabs) depth = depth or 5 if type(table) ~= "table" then printh(table) return end local tabs = tabs or 0 for k,v in pairs(table) do local tabulation = "" for i=0,tabs do tabulation = tabulation.." " end if type(v) == "table" then depth = depth - 1 stringOut = stringOut(tabulation.."key: "..k) if(depth < 0) then return(tabulation.." max_depth\n") end p.printTable(v,depth,tabs+1) else return(tabulation.."key: "..k..", val: "..tostring(v)) end end end return p 433ba1a9f7aabe8524cff385ef6c286912132fa6 915 914 2024-02-02T09:38:02Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(rawImport) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end --debug and print a table's constants function p.printTable(table,depth,tabs) depth = depth or 5 if type(table) ~= "table" then printh(table) return end local tabs = tabs or 0 for k,v in pairs(table) do local tabulation = "" for i=0,tabs do tabulation = tabulation.." " end if type(v) == "table" then depth = depth - 1 tabulation = tabulation.."key: "..k if(depth < 0) then return(tabulation.." max_depth\n") end p.printTable(v,depth,tabs+1) else return tabulation.."key: "..k..", val: "..tostring(v) end end end return p 0408b52fa22009c3a4f81d4e9464d90c2def7e77 916 915 2024-02-02T09:40:17Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return p.printTable(rawImport) --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end --debug and print a table's constants function p.printTable(table,depth,tabs) local depth = depth or 5 if type(table) ~= "table" then return end local tabs = tabs or 0 for k,v in pairs(table) do local tabulation = "" for i=0,tabs do tabulation = tabulation.." " end if type(v) == "table" then depth = depth - 1 tabulation = tabulation.."key: "..k if(depth < 0) then return(tabulation.." max_depth\n") end p.printTable(v,depth,tabs+1) else return tabulation.."key: "..k..", val: "..tostring(v) end end end return p 2aef82ff6ab20f93e0ecb6140554fab7b5cc9253 917 916 2024-02-02T09:41:22Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return rawImport.industry["Water Pump"].cost --local row = string.format(industryTableFormat, industryName, industry.cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p 2bfc572e8d99f7dc3f062c0b8544662d6cfe7bb8 918 917 2024-02-02T09:41:58Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry[industryName].cost) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p f14565fa2c755cdd20043034f772b2a1ce0cb1d0 919 918 2024-02-02T09:43:40Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industry[industryName].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p a2ecea76bf9c6259161b167fc0f902b3ca80c25c 920 919 2024-02-02T09:43:55Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData[industryName].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p 9b6bd2624ac4f2283c6eacf8291f3abad2fd49d1 921 920 2024-02-02T09:44:23Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData["Water Pump"].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p d6e168238fbbf11519612579928b883156d45186 922 921 2024-02-02T09:44:47Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData[industryData].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p e02746a8a18872c6a26a2f0d1a58100973c6fce7 923 922 2024-02-02T09:45:08Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData[industryName].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p 9b6bd2624ac4f2283c6eacf8291f3abad2fd49d1 924 923 2024-02-02T09:45:22Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData[tostring(industryName)].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p ea2f692e694caceec91710bf7b7ce4c78d82c308 925 924 2024-02-02T09:45:40Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData["Water Pump"].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p d6e168238fbbf11519612579928b883156d45186 926 925 2024-02-02T09:45:59Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData["Oil Well"].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p 51646e1cabe21d46d03e97689eb2e5698501397c 927 926 2024-02-02T09:46:16Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData["Compute Platform"].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p a27f5813683f49507f7ac6a78b09426248a67220 928 927 2024-02-02T09:46:42Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryName --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p 737c85afabc0ce03476bc7c2d5cb94918cf89d4c 929 928 2024-02-02T09:47:58Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData["Compute Platform"].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p a27f5813683f49507f7ac6a78b09426248a67220 930 929 2024-02-02T09:48:47Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = "Compute Platform" --frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry["Compute Platform"] --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p 941912b5a47c55c69a54bc1757d5ec0e87f6bbf4 931 930 2024-02-02T09:49:28Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry["Compute Platform"] --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil then return industryName.." not found. Check spelling or capitalization" else return industry end end return p 575eb3dbc4856831433a3479eaeceac0ede8bddf 932 931 2024-02-02T09:53:59Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry then return industryName.." not found. Check spelling or capitalization" else return industry end end return p f9cead4371b29c75b5f0b7cc3d04c40d440f230b 933 932 2024-02-02T09:54:49Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling or capitalization" else return industry end end return p c0d8f67a2492af5f767e011f62ba54dfe84c4a73 934 933 2024-02-02T09:56:26Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return type(industry)--industryName.." not found. Check spelling or capitalization" else return industry end end return p c3873b0735b1f51af047833754f1e5244043c2bc 935 934 2024-02-02T09:57:23Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryData["Compute Platform"]--industryName.." not found. Check spelling or capitalization" else return industry end end return p e277db21c7069d16e9fa4c7889d1eefc7c452569 936 935 2024-02-02T09:58:54Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." "..industry[industryName].." "..industryData["Compute Platform"]--industryName.." not found. Check spelling or capitalization" else return industry end end return p 44d3035b52574590e7179295713dea9d25532284 937 936 2024-02-02T09:59:31Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." "..industryData[industryName].." "..industryData["Compute Platform"]--industryName.." not found. Check spelling or capitalization" else return industry end end return p f71f522de3ed3662e4d5e2cf9d964d2d36a73633 938 937 2024-02-02T09:59:53Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." "..industryData[industryName].cost.." "..industryData["Compute Platform"].cost--industryName.." not found. Check spelling or capitalization" else return industry end end return p fc98195de34dfa4c258d9802f059c304dff45723 939 938 2024-02-02T10:00:26Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." "..industryData["Compute Platform"].cost--industryName.." not found. Check spelling or capitalization" else return industry end end return p 775960b7e587769057ee606e087079c0329484cc 940 939 2024-02-02T10:01:23Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[tostring(industryName)] --if industry == nil or industry == "" then return industryName.." "..industryData["Compute Platform"].cost--industryName.." not found. Check spelling or capitalization" --[[else return industry end]] end return p ace2f47fa7d9c92ca594141935e66a06bb159f90 941 940 2024-02-02T10:02:17Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[tostring(industryName)] if industry == nil or industry == "" then return industryName.." "..industryData["Compute Platform"].cost--industryName.." not found. Check spelling or capitalization" else return Success end end return p ebb379cf1b903fcd79b2b9596579fc4eb6326fc9 942 941 2024-02-02T10:04:58Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData["Compute Platform"] if industry == nil or industry == "" then return industry.cost --return industryName.." "..industryData["Compute Platform"].cost--industryName.." not found. Check spelling or capitalization" else return Success end end return p 999b6e0a72b5aba4c9316906f4d457fe4db22e93 943 942 2024-02-02T10:05:38Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData["Compute Platform"] if industry == nil or industry == "" then -- return industry.cost return industryName.." "..industryData["Compute Platform"].cost--industryName.." not found. Check spelling or capitalization" else return Success end end return p ad7c7a2e7e68bd1c7ad754b028db8884f8ecc800 944 943 2024-02-02T10:09:38Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) --return industryData["Compute Platform"].cost return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) return industryName end return p 6db6421b6c893f927f1131bf42c2d501c5224dda 945 944 2024-02-02T10:10:06Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return industryData["Compute Platform"].cost --return industry --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function getIndustry(industryName) return industryName end return p 6689cf1293cdba4ea5725275ee90bfbba3bd152e 946 945 2024-02-02T10:11:17Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryData["Compute Platform"].cost return industryData[industryName] --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p 2642c4fdf39031940b56414f82f2e220a806dc08 947 946 2024-02-02T10:11:43Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryData["Compute Platform"].cost return industryData[industryName].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p 86b70430c798795e7b8f58d2f4eb906061b66ea3 948 947 2024-02-02T10:12:13Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) return industryName --return industryData["Compute Platform"].cost --return industryData[industryName].cost --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p b704765baa9cce51e10b7f7d423aa25f73778cc5 949 948 2024-02-02T10:14:35Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryName --Works --return industryData["Compute Platform"].cost -- Works --return industryData[industryName].cost --Fails if industryName == "Compute Platform" then return true else return false end --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p 3058c511e571bb7b5e8e0de88ea6dc918cf26c29 950 949 2024-02-02T10:14:57Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryName --Works --return industryData["Compute Platform"].cost -- Works --return industryData[industryName].cost --Fails if industryName == "Compute Platform" then return true else return type(industryName) end --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p 4312e81707e6566e6fe4cc1919ae36074051dbb6 951 950 2024-02-02T10:15:32Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryName --Works --return industryData["Compute Platform"].cost -- Works --return industryData[industryName].cost --Fails if industryName == "Compute Platform" then return true else return "|"..industryName.."|" end --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p 730f5198ff0f766a19a7f893f9b4aae45971bb49 Module:IndustryParse 828 304 952 951 2024-02-02T10:16:17Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryName --Works --return industryData["Compute Platform"].cost -- Works --return industryData[industryName].cost --Fails if industryName == "Compute Platform" then return true else return "|".."asdf".."|" end --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p 07fa61ecd7fd298b2bce32c88272f8f1e1409b94 953 952 2024-02-02T10:16:30Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryName --Works --return industryData["Compute Platform"].cost -- Works --return industryData[industryName].cost --Fails if industryName == "Compute Platform" then return true else return ("|".."asdf".."|") end --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p 9fbe904316e8ac2b6e59900717076d6545c21715 954 953 2024-02-02T10:17:18Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryName --Works --return industryData["Compute Platform"].cost -- Works --return industryData[industryName].cost --Fails if industryName == "Compute Platform" then return true else return ("F".."asdf".."F") end --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p ed1edc401d56b9f830b91cc35724f025d40fff2c 955 954 2024-02-02T10:17:37Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = p.getIndustry(industryName) --return industryName --Works --return industryData["Compute Platform"].cost -- Works --return industryData[industryName].cost --Fails if industryName == "Compute Platform" then return true else return ("F"..industryName.."F") end --local row = string.format(industryTableFormat, industryName, industry[industryName].cost) --return frame:preprocess(row) end function p.getIndustry(industryName) return industryName end return p b47249f1b831a2cf2c74222a6be7171112299007 956 955 2024-02-02T10:22:14Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry[industryName].cost) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 61305fcb2b716c8fd9c5a817e011c09008bb5703 957 956 2024-02-02T10:22:51Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | %s || %s \r\n ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry.cost) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p af7ee33253ea58442e084baf6739f8a0bc821e58 958 957 2024-02-02T10:28:52Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | {{ItemLarge|{{{%s}}} || %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry.cost, industry.workers) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 488b782052e8d85fc681e311ecf59cb6355efc78 959 958 2024-02-02T10:29:35Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = [=[|- | {{ItemLarge|{{{%s}}}}} || %s || %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry.cost, industry.workers) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 840687f5ab11c5f7b13be74d8f263892a1991b2f 960 959 2024-02-02T10:32:51Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry industryTableFormat = mw.text.nowiki([=[|- | {{ItemLarge|{{{%s}}}}} || %s || %s ]=]) function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry.cost, industry.workers) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 27a10126aea5c1437bbe26de15147f137d0113ed 961 960 2024-02-02T10:40:58Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) return { name = industryName, cost = industry.cost, catalyst = industry.catalyst, recipeTime = industry.recipeTime, workers = industry.workers } end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 3e6eab6802a55757768d5ba0fa5f70403b4ccba6 963 961 2024-02-02T11:00:57Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ {{IndustryDetail|name=s%|cost=s%|catalyst=s%|workers=s%}} ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableFormat, industryName, industry.cost, industry.catalyst, industry.workers) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 51d60bd36a51ffcd76a384407af6e6e0466954a5 964 963 2024-02-02T11:01:23Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ {{IndustryDetail|name=s%|cost=s%|catalyst=s%|workers=s%}} ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p fa4f9adf13677005e58dda54f814db9b066c86c6 965 964 2024-02-02T11:02:02Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ {{IndustryDetail | name=s% | cost = s% | catalyst= s% | workers= s% }} ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 5adeb5d5d81e423cd99189ecabd5cac4af47a8b0 966 965 2024-02-02T11:03:19Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ {{IndustryDetail | name=s% }} ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableRowTemplate , industryName) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 6bd67561144f393c421598b0547f0c91d8e438d3 967 966 2024-02-02T11:06:45Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ {{IndustryDetail | name= %s | cost = %s | catalyst= %s% | workers= %s | recipeTime = %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p 0d39f4040d234ea3919e2283a008cdfd0f5cabc2 968 967 2024-02-02T11:06:57Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ {{IndustryDetail | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end return p e7eb26b7d82fb39257d83d24018642b8f015998a 969 968 2024-02-02T11:28:45Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ {{IndustryDetail | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end function parseRecipeTable(type,names,counts) if names == nil then return end type = type or "in" local stringout = "" for i in pairs(names) do if counts[i] == nil then counts = {"null"} end stringout = stringout.."| "..type.." = "..i.." | ".. type .. "Ct" .. i .." = " .. counts[i].."\n" end return stringout end return p 5ae56d4ad5758da85359017b3ff057c3c23f3fe7 970 969 2024-02-02T11:30:45Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ {{IndustryDetail | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end function parseRecipeTable(type,names,vals) if names == nil then return "| "..type.." not present" end type = type or "in" local stringout = "" for i in pairs(names) do if vals[i] == nil then vals = {"null"} end stringout = stringout.."| "..type.." = "..i.." | ".. type .. "Ct" .. i .." = " .. vals[i].."\n" end return stringout end return p b434e7ff5368c18770373795fa1acb061fcdf5f9 972 970 2024-02-02T11:37:49Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end function parseRecipeTable(type,names,vals) if names == nil then return "| "..type.." not present" end type = type or "in" local stringout = "" for i in pairs(names) do if vals[i] == nil then vals = {"null"} end stringout = stringout.."| "..type.." = "..i.." | ".. type .. "Ct" .. i .." = " .. vals[i].."\n" end return stringout end return p 250ce52f14656ba3350132869f797c7b757880e6 973 972 2024-02-02T11:41:07Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end function parseRecipeTable(type,names,vals) if names == nil then return "| "..type.." not present" end type = type or "in" local stringout = "" for i in pairs(names) do if vals[i] == nil then vals = {"null"} end stringout = stringout.." | ".. type .. "Ct" .. i .." = " .. vals[i].."x "..type..i.." = "..names[i] end return stringout end return p e4c32eef366097d875043da4c7502dce31ffe8d1 974 973 2024-02-02T11:47:21Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[ | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s ]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end function parseRecipeTable(type,names,counts) if names == nil then return end type = type or "in" local stringout = "" for i in pairs(names) do if counts[i] == nil then counts = {"null"} end stringout = stringout.." | ".. type .. i .." = " .. names[i] .. " | " .. type .. "Ct" .. i .." = " .. counts[i] end return stringout end return p a241dc6a3d07e50aee554aabed59715acf725e76 976 974 2024-02-02T11:52:37Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[{{IndustryDetail | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end function parseRecipeTable(type,names,counts) if names == nil then return end type = type or "in" local stringout = "" for i in pairs(names) do if counts[i] == nil then counts = {"null"} end stringout = stringout.." | ".. type .. i .." = " .. names[i] .. " | " .. type .. "Ct" .. i .." = " .. counts[i] end return stringout end return p cf7706414b4f0d26a6643e8d03c43d5eb1222c7e 977 976 2024-02-02T11:53:37Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[<nowiki> | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s </nowiki>]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end function parseRecipeTable(type,names,counts) if names == nil then return end type = type or "in" local stringout = "" for i in pairs(names) do if counts[i] == nil then counts = {"null"} end stringout = stringout.." | ".. type .. i .." = " .. names[i] .. " | " .. type .. "Ct" .. i .." = " .. counts[i] end return stringout end return p dc5fa3370d3075b849d9cb7341df734b97b16770 978 977 2024-02-02T11:54:46Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[{{IndustryDetail | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then return "error no name provided" end local industry = industryData[industryName] if industry == nil or industry == "" then return industryName.." not found. Check spelling, spaces or capitalization" else return industry end end function parseRecipeTable(type,names,counts) if names == nil then return end type = type or "in" local stringout = "" for i in pairs(names) do if counts[i] == nil then counts = {"null"} end stringout = stringout.." | ".. type .. i .." = " .. names[i] .. " | " .. type .. i .. "Ct" .." = " .. counts[i] end return stringout end return p 800868e2fe2a8a64689273e5cea717598489d6f4 Template:IndustryDataParser 10 305 962 2024-02-02T10:47:47Z Hiroteashi 379511 Created page with "<includeonly>{{IndustryDetail|#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Test== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryParserTest|Compute Platform}} |} </noinclude>" wikitext text/x-wiki <includeonly>{{IndustryDetail|#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Test== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryParserTest|Compute Platform}} |} </noinclude> 17afd156717962b5a279dac1dd0dae13b1df0ed6 971 962 2024-02-02T11:37:14Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Test== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryParserTest|Compute Platform}} |} </noinclude> 6789f618b36fe71db368258a157ec651a785478d 985 971 2024-02-02T12:06:42Z Hiroteashi 379511 Hiroteashi moved page [[Template:IndustryParserTest]] to [[Template:IndustryDataParser]] without leaving a redirect wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Test== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryParserTest|Compute Platform}} |} </noinclude> 6789f618b36fe71db368258a157ec651a785478d 986 985 2024-02-02T12:07:15Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Test== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Compute Platform}} |} </noinclude> 306b2cc21ea854a680b949e8b9c7a072676c0e43 987 986 2024-02-02T12:08:43Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Example Ouput== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Compute Platform}} |} <pre>{{IndustryDataParser|Compute Platform}}</pre> Raw data can be found at [[module:Industry/Data]] </noinclude> 8fd2568a3b714aedc934ed64627a7419f717ee5a 988 987 2024-02-02T12:09:20Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Example Ouput==[[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Compute Platform}} |} <pre>{{IndustryDataParser|Compute Platform}}</pre> Raw data can be found at [[module:Industry/Data]] </noinclude> 0209ca0bfbd048d816447de099b14fac43112fd2 990 988 2024-02-02T12:12:34Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Example Ouput== [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Compute Platform}} |} <pre>{{IndustryDataParser|Compute Platform}}</pre> Raw data can be found at [[module:Industry/Data]] </noinclude> 0c67ca4e9cd40f7555f922b5fc49d35cce9b338c Module:Industry/Data 828 303 975 867 2024-02-02T11:50:07Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Cooper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electonics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["Worker Rocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } p.industry = industry return p 0dabbef02310c82d9fa29705fa939fbc0d8459c9 980 975 2024-02-02T12:00:42Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Cooper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electonics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } p.industry = industry return p bd738cb8dd37990fe8f3d8caa7db5e89d43b32fb 1001 980 2024-02-02T12:36:48Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electonics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } p.industry = industry return p 6ac1986426b3bf83423bf12190749b387d5017e0 Category:Structures 14 9 979 366 2024-02-02T11:59:08Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryParserTest|Tube Plant}} {{IndustryParserTest|Framer}} {{IndustryParserTest|Grey Assembly}} {{IndustryParserTest|Armory}} {{IndustryParserTest|Worker Rocket Platform}} {{IndustryParserTest|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] f761a256f5d4c92dce6b5c1bd737c1b4d5a7fa33 981 979 2024-02-02T12:00:58Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryParserTest|Tube Plant}} {{IndustryParserTest|Framer}} {{IndustryParserTest|Grey Assembly}} {{IndustryParserTest|Armory}} {{IndustryParserTest|WorkerRocket Platform}} {{IndustryParserTest|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 2a7946fec6120b3e3416a2503fd4168f23b7bd70 982 981 2024-02-02T12:01:14Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | out1 = Water | out1Ct = 1 }} {{IndustryDetail| name = Oil Well | cost = 1024 | catalyst = Water | recipeTime = 16 | out1 = Crude Oil | out1Ct = 1 }} {{IndustryDetail| name = Geothermal | cost = 4096 | catalyst = Water | recipeTime = 16 | out1 = Energy | out1Ct = 1 }} {{IndustryDetail| name = Coal Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Coal | out1Ct = 1 }} {{IndustryDetail| name = Copper Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Copper | out1Ct = 1 }} {{IndustryDetail| name = Iron Mine | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Iron | out1Ct = 2 }} {{IndustryDetail| name = Silica Quarry | cost = 1024 | catalyst = Waste | recipeTime = 16 | out1 = Silica | out1Ct = 2 }} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryParserTest|Tube Plant}} {{IndustryParserTest|Framer}} {{IndustryParserTest|Grey Assembly}} {{IndustryParserTest|Armory}} {{IndustryParserTest|WorkRocket Platform}} {{IndustryParserTest|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 3a023e3358a82d1b84418a680381546d944eaf1f File:SpaceLiner Platform.png 6 118 983 295 2024-02-02T12:03:14Z Hiroteashi 379511 Hiroteashi moved page [[File:Spaceliner Platform.png]] to [[File:SpaceLiner Platform.png]] without leaving a redirect wikitext text/x-wiki == Summary == Spaceliner Platform Industry 9a142db44962fed7872180be36402d1a9be37a11 File:WorkRocket Platform.png 6 126 984 323 2024-02-02T12:04:28Z Hiroteashi 379511 Hiroteashi moved page [[File:Worker Rocket Platform.png]] to [[File:WorkRocket Platform.png]] without leaving a redirect wikitext text/x-wiki == Summary == Worker Rocket Platform Icon c01f9ec3a3698239308889473099e10589624536 Template:Blockquote 10 174 989 826 2024-02-02T12:12:09Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}>"{{{text|}}}" {{#if:{{{signature|}}}|<div class="templatequotecite" style="margin-left:5em"><cite>{{{signature}}}</cite></div>}} </blockquote></includeonly><noinclude> [[category:templates]] ===Example Output=== {{blockquote | text = Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. | signature = Saito,<br/> Department Head of Off World Colonies<br /> Nakatani Chemicals}}<pre>{{blockquote | text = Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. | signature = Saito,<br/> Department Head of Off World Colonies<br /> Nakatani Chemicals}}</pre></noinclude> 4757411174c5916d4e3d1ae45d8874c8ce4d4996 Template:IndustryDetail 10 75 991 709 2024-02-02T12:15:31Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x {{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly><noinclude> [[category:templates]] ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} |} <pre>{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 353d172d955385aa5701286e8b804e3e3f565e38 1000 991 2024-02-02T12:36:16Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x {{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x {{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x {{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x {{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x {{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x {{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x {{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly><noinclude> [[category:templates]] ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} |} <pre>{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 87e287e8cb62a166d6581b932596ad26321a7a9e Template:IndustryTableHeader 10 66 992 428 2024-02-02T12:17:32Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|+ {{{1}}} |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |-</includeonly><noinclude> [[category:templates]] ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} |} <pre>{| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} |}</pre> Note the need for the start and end table brackets </noinclude> 7370082153872241decfba9fb1cb2f02cb3b0ef1 Template:Item 10 62 993 708 2024-02-02T12:19:03Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;[[:{{{link|{{{1}}}}}}|{{{text|{{{1}}}}}}]]</includeonly><noinclude> ===Example Output=== [[Category:Templates]] {{Item|Plastic}} <pre>{{Item|Plastic}}</pre> </noinclude> d2de69994a6dc6a0ea7a81918171a5cde5afa63e Template:ItemLarge 10 74 994 429 2024-02-02T12:22:44Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"> <span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};margin:auto;">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br /> <div style = "text-align:center">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</div> </span></span></includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:92px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div> <pre>{{ItemLarge|Water}}</pre> </noinclude> 31898b8d02ee1155c36696c8b344603b73c34dba 995 994 2024-02-02T12:23:03Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item style="text-align: center;"> <span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};margin:auto;">[[File:{{{1}}}.png|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br /> <div style = "text-align:center">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</div> </span></span></includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:92px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> </noinclude> 47dba5222ff5e0951977515bcd04993c6d193039 Template:MissionInfoBox 10 177 996 824 2024-02-02T12:24:58Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> 0dfbda4764f009a7ea6979c43565e45ed812752c 997 996 2024-02-02T12:26:04Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> efb84aa8854723ab350f33db5081e4fb129a298e 999 997 2024-02-02T12:27:09Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable" |- ! colspan="2"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" | Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" | Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" | Region Objectives |- {{{objectives|none}}} |- ! colspan="2" | Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Track]] |nextMissions = * [[Train & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> 933b433a62fab416ed713025e32fe314f40d9656 Module:PartimeParse 828 180 998 494 2024-02-02T12:26:31Z Hiroteashi 379511 Scribunto text/plain -- Module:PartimeParse local p = {} function p.partimePrint(frame) if frame.args[4] == nil then frame.args[4] = 1 end local h = tonumber(frame.args[1]) or 0 local m = tonumber(frame.args[2]) or 0 local s = tonumber(frame.args[3]) or 0 timeTotal = h * 60 + m + math.floor(s/60) timeTotal = timeTotal * frame.args[4] return p.partimeToString(timeTotal) end function p.partimeToString(timeTotal) local h = math.floor(timeTotal / 60) local s = (timeTotal % 1) * 60 local m = timeTotal - (h * 60 + s / 60) local output = p.toDoubleDigitStr(m) ..":".. p.toDoubleDigitStr(s) if (h ~= 0) then return h .. ":" .. output end return output end function p.toDoubleDigitStr(num) if num < 10 then return "0" .. tostring(num) end return num end return p 50738dbba7e4c55078b7ae09724eb7e88888cced Category:Structures 14 9 1002 982 2024-02-02T12:37:15Z Hiroteashi 379511 wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDetail|name = Coal Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Powerplant | cost = 2048 | catalyst = Water | recipeTime = 8 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Energy | out1Ct = 1}} {{IndustryDetail|name = Oil Refinery | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Reactives | out1Ct = 1}} {{IndustryDetail|name = Steel Mill | cost = 4096 | catalyst = Energy | recipeTime = 8 | workers = 8 | in1 = Coal | in1Ct = 2 | in2 = Iron | in2Ct = 2 | out1 = Steel | out1Ct = 2}} {{IndustryDetail|name = Salt Refinery | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica| in1Ct = 2 | out1 = Salt| out1Ct = 1}} {{IndustryDetail|name = Plasticizer | cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Crude Oil | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Hardmold | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Coal | in1Ct = 2 | out1 = Plastic| out1Ct = 1}} {{IndustryDetail|name = Solva | cost = 2048 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Crude Oil | in1Ct = 1 | in2 = Silica | in2Ct = 2 | in3 = Water | in3Ct = 1 | out1 = Solvent | out1Ct = 6 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Wire Coiler | cost = 1024 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Copper | in1Ct = 1 | out1 = Wire | out1Ct = 2}} {{IndustryDetail|name = Concrete Yard | cost = 2048 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Water | in2Ct = 1 | out1 = Concrete | out1Ct = 1}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryParserTest|Tube Plant}} {{IndustryParserTest|Framer}} {{IndustryParserTest|Grey Assembly}} {{IndustryParserTest|Armory}} {{IndustryParserTest|WorkRocket Platform}} {{IndustryParserTest|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] db514e6a8c7fa2b2aae5ea91facdabf5501de6dd 1004 1002 2024-02-02T12:42:49Z Hiroteashi 379511 /* Industry Tier 1 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDetail|name = Appliance Plant | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire| in2Ct = 1 | out1 = Appliances | out1Ct = 1}} {{IndustryDetail|name = Incinerator | cost = 2048 | catalyst = Solva | recipeTime = 32 | workers = 1 | in1 = Waste | in1Ct = 2 }} {{IndustryDetail|name = Tool Die | cost = 2048 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 1 | out1 = Widgets | out1Ct = 1}} {{IndustryDetail|name = Glass Smelter | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Glass | out1Ct = 1}} {{IndustryDetail|name = Coal Gassifier| cost = 2048 | catalyst = Water | recipeTime = 16 | workers = 2 | in1 = Coal | in1Ct = 2 | in2 = Energy | in2Ct = 1 | out1 = Reactives | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Electronics Fab | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 1 | in2 = Wire | in2Ct = 2 | in3 = Energy | in3Ct = 1 | out1 = Appliances | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Hullyard | cost = 4096 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 4 | in2 = Plastic | in2Ct = 2 | out1 = Hulls | out1Ct = 2}} {{IndustryDetail|name = Neon Refinery | cost = 4096 | catalyst = Water | recipeTime = 16 | workers = 4 | in1 = Reactives | in1Ct = 2 | out1 = Neon Gas | out1Ct = 1}} {{IndustryDetail|name = Booster Plant | cost = 4096 | catalyst = Neon Gas | recipeTime = 32 | workers = 4 | in1 = Iron | in1Ct = 2 | in2 = Reactives | in2Ct = 1 | out1 = Retrograde | out1Ct = 1 | out2 = Waste | out2Ct = 1}} {{IndustryDetail|name = Furniture Assembler | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 2 | in1 = Plastic | in1Ct = 2 | out1 = Furniture | out1Ct = 1}} {{IndustryDetail|name = Motor Assembly | cost = 4096 | catalyst = Energy | recipeTime = 32 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Wire | in2Ct = 4 | out1 = Motor | out1Ct = 2}} {{IndustryDetail|name = Paperclip Stamper | cost = 4096 | catalyst = Heavy Tools | recipeTime = 16 | workers = 2 | in1 = Steel | in1Ct = 1 | out1 = PaperClips | out1Ct = 4}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryParserTest|Tube Plant}} {{IndustryParserTest|Framer}} {{IndustryParserTest|Grey Assembly}} {{IndustryParserTest|Armory}} {{IndustryParserTest|WorkRocket Platform}} {{IndustryParserTest|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] b5bc25e1996f19e36c2239a2ba9af61a8185183a 1006 1004 2024-02-02T12:47:23Z Hiroteashi 379511 /* Industry Tier 2 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDetail|name = Rocket Factory | cost = 8192 | catalyst = RobotArm | recipeTime = 32 | workers = 4 | in1 = Widgets | in1Ct = 5 | in2 = Steel | in2Ct = 2 | out1 = Rockets | out1Ct = 2 }} {{IndustryDetail|name = CPU Fab | cost = 8192 | catalyst = RobotArm | recipeTime = 16 | workers = 4 | in1 = Silica | in1Ct = 3 | in2 = Neon Gas | in2Ct = 1 | in3 = Wire | in3Ct = 2 | out1 = CPU | out1Ct = 1 | out2 = Waste | out2Ct = 1 }} {{IndustryDetail|name = Signworks | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Glass | in1Ct = 1 | in2 = Neon Gas | in2Ct = 1 | in3 = wire | in3Ct = 2 | out1 = Signage | out1Ct = 2 }} {{IndustryDetail|name = Luxury Assembler | cost = 8192 | catalyst = Heavy Tools | recipeTime = 32 | workers = 4 | in1 = Hulls | in1Ct = 1 | in2 = Furniture | in2Ct = 2 | in3 = Steel | out1 = Luxury Rooms | out1Ct = 1 | out2 = Waste | out2Ct = 2 }} {{IndustryDetail|name = Heavyworks | cost = 4096 | catalyst = Energy | recipeTime = 16 | workers = 4 | in1 = Steel | in1Ct = 1 | in2 = Widgets | in2Ct = 1 | in3 = Motor | in3Ct = 1 | out1 = Heavy Tools | out1Ct = 1 }} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryParserTest|Tube Plant}} {{IndustryParserTest|Framer}} {{IndustryParserTest|Grey Assembly}} {{IndustryParserTest|Armory}} {{IndustryParserTest|WorkRocket Platform}} {{IndustryParserTest|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] c510249a5d6b890be528ee092aab7dc880636073 1008 1006 2024-02-02T12:54:19Z Hiroteashi 379511 /* Industry Tier 3 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryParserTest|Tube Plant}} {{IndustryParserTest|Framer}} {{IndustryParserTest|Grey Assembly}} {{IndustryParserTest|Armory}} {{IndustryParserTest|WorkRocket Platform}} {{IndustryParserTest|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] d9922e17b565b842a1430091269a37dd59f2a9bf 1009 1008 2024-02-02T12:54:47Z Hiroteashi 379511 /* Industry Tier 4 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} |- {{IndustryDetail|name = Compute Platform | cost = 32768 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 4 | in3 = Hulls | in3Ct = 4 | in4 = Mainframes | in4Ct = 8 }} {{IndustryDetail|name = The Mechanist | cost = 4096 | catalyst = Assembra | recipeTime = 128 | workers = 1 | in1 = RobotArm | in1Ct = 4 }} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 1362cc46b7d705042616c9a5fa40e3866c6545d4 1010 1009 2024-02-02T12:55:33Z Hiroteashi 379511 /* Industry Tier 5 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} |} ==== Industry Tier 1 ==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 1 Industry}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} |} ==== Industry Tier 2==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 2 Industry}} {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} |} ==== Industry Tier 3==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 3 Industry}} {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} |} ==== Industry Tier 4==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 4 Industry}} {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} |} ==== Industry Tier 5==== {| class="wikitable sortable" {{IndustryTableHeader|Tier 5 Industry}} {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} |} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 52a6735d2ab0d8dd45c7d527cffaa1bdd8d2800a Template:IndustryDetail 10 75 1003 1000 2024-02-02T12:39:15Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly><noinclude> [[category:templates]] ===Example Output=== {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} |} <pre>{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> d2f59969fd9d09b1dbcab908a44e5d5ece699d37 1047 1003 2024-02-02T15:49:10Z Hiroteashi 379511 wikitext text/x-wiki <includeonly> | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} |- </includeonly><noinclude> [[category:templates]] ===Example Output=== {{IndustryTableHeader|Resource Extraction Industry |- |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }} <pre>{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> b794c8c9f7b88cf7bcf9278f7a0163a362ccffb8 1048 1047 2024-02-02T15:53:44Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly><noinclude> [[category:templates]] ===Example Output=== {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }} <pre>{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 6e485fd35240e0528cdc4ebe7ef6b9cb2a2a5050 Module:Industry/Data 828 303 1005 1001 2024-02-02T12:46:20Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } p.industry = industry return p 09afdcfbb024327c029396cd1fda8c94cb4f9f07 Module:IndustryParse 828 304 1007 978 2024-02-02T12:52:54Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[{{IndustryDetail | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then error("error no name provided") end local industry = industryData[industryName] if industry == nil or industry == "" then error(industryName.." not found. Check spelling, spaces or capitalization") else return industry end end function parseRecipeTable(type,names,counts) if names == nil then return end type = type or "in" local stringout = "" for i in pairs(names) do if counts[i] == nil then counts = {"null"} end stringout = stringout.." | ".. type .. i .." = " .. names[i] .. " | " .. type .. i .. "Ct" .." = " .. counts[i] end return stringout end return p d39d7d3b6b82572fb8c2523a2e32338563b7bd40 1041 1007 2024-02-02T15:40:17Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[|-{{IndustryDetail | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then error("error no name provided") end local industry = industryData[industryName] if industry == nil or industry == "" then error(industryName.." not found. Check spelling, spaces or capitalization") else return industry end end function parseRecipeTable(type,names,counts) if names == nil then return end type = type or "in" local stringout = "" for i in pairs(names) do if counts[i] == nil then counts = {"null"} end stringout = stringout.." | ".. type .. i .." = " .. names[i] .. " | " .. type .. i .. "Ct" .." = " .. counts[i] end return stringout end return p b318b7d17f6d2e95b4266a81b44c9bf35352f324 1042 1041 2024-02-02T15:40:29Z Hiroteashi 379511 Scribunto text/plain local p = {} local rawImport = require("Module:Industry/Data") local industryData = rawImport.industry local industryTableRowTemplate = [=[|- {{IndustryDetail | name= %s | cost = %s | catalyst= %s | workers= %s | recipeTime = %s %s %s }}]=] function p.industryTableRow(frame) local industryName = frame.args[1] local industry = getIndustry(industryName) local ins = parseRecipeTable("in",industry.inputs,industry.inputCounts) local outs = parseRecipeTable("out",industry.outputs,industry.outputCounts) local row = string.format(industryTableRowTemplate , industryName, industry.cost, industry.catalyst, industry.workers, industry.recipeTime, ins, outs) return frame:preprocess(row) end function getIndustry(industryName) if(industryName == nil or industryName == "") then error("error no name provided") end local industry = industryData[industryName] if industry == nil or industry == "" then error(industryName.." not found. Check spelling, spaces or capitalization") else return industry end end function parseRecipeTable(type,names,counts) if names == nil then return end type = type or "in" local stringout = "" for i in pairs(names) do if counts[i] == nil then counts = {"null"} end stringout = stringout.." | ".. type .. i .." = " .. names[i] .. " | " .. type .. i .. "Ct" .." = " .. counts[i] end return stringout end return p 4b9a209cbfb0ee34c52e7eb9f2d629c2feee412e Template:ItemLarge 10 74 1011 995 2024-02-02T13:01:02Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"> <span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br /> <div style = "text-align:center">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</div> </span></span></includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> </noinclude> eb6fb4d1debed86aef2435511cda3506befedc8b 1049 1011 2024-02-02T15:54:32Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br /><div style = "text-align:center">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</div></span></span></includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> </noinclude> 0f97f51fe72b97fa057fc5a85d30911f35189f5e 1050 1049 2024-02-02T15:55:54Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<br /><div style = "text-align:center">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</span></span></includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> </noinclude> ae7c6669d3a6c1724d7d715c655504b113f9e78b 1051 1050 2024-02-02T15:57:54Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<div class="aligncenter">[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]</div></span></span></includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> </noinclude> 8d4e732923adbe436077165507d8afd17550f22c Category:Missions 14 11 1012 845 2024-02-02T13:23:35Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable cargoTable noMerge" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 15e8a401271ae15dc43476c0286356127c94e141 1020 1012 2024-02-02T14:55:01Z Hiroteashi 379511 wikitext text/x-wiki {| id="railgrade-internal" class="wikitable cargoTable noMerge" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 60220a7e40bb5f99ec071c7adf420f31fd0b3b0b 1023 1020 2024-02-02T15:07:12Z Hiroteashi 379511 wikitext text/x-wiki {| class="railgrade-internal wikitable cargoTable noMerge" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 0b66f5ce834b184ac16b4fa11e2c6e6608825e3d 1024 1023 2024-02-02T15:07:48Z Hiroteashi 379511 wikitext text/x-wiki {| class="railgrade-internal cargoTable noMerge" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 579520192b653e99592a0aa0212edc70393b9233 1025 1024 2024-02-02T15:09:29Z Hiroteashi 379511 wikitext text/x-wiki {| class="railgrade-internal wikitable cargoTable noMerge" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 0b66f5ce834b184ac16b4fa11e2c6e6608825e3d 1027 1025 2024-02-02T15:13:02Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable railgrade-internal cargoTable noMerge" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} f5111a41f5e781edeb29530ce535bd4f7f20405b 1030 1027 2024-02-02T15:16:34Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable cargoTable noMerge railgrade-internal" |+ Mission List |- ! Region Number !! Mission Name !! S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 9fd2310e4447dd84c680b9bf78e2bfb1732b7a8b 1032 1030 2024-02-02T15:18:42Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable cargoTable noMerge" |+ Mission List |- ! class="railgrade-internal"|Region Number !! class="railgrade-internal"|Mission Name !! class="railgrade-internal"|S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} c034c128f73be318147de72a56fab9b9c8585ee3 1035 1032 2024-02-02T15:27:54Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable cargoTable noMerge internal" |+ Mission List |- ! class="railgrade-internal"|Region Number !! class="railgrade-internal"|Mission Name !! class="railgrade-internal"|S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 8c5c6df1d73aa4da79e682f96487134c156bea0a 1037 1035 2024-02-02T15:30:04Z Hiroteashi 379511 wikitext text/x-wiki {| class="wikitable cargoTable noMerge customTable" |+ Mission List |- ! class="customTableHeader"|Region Number !! class="customTableHeader"|Mission Name !! class="customTableHeader"|S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 1137f2c285f40360e8380525588fcc2d501f66ec Template:IndustryTableHeader 10 66 1013 992 2024-02-02T13:31:38Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|+ {{{1}}} |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |-</includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} |} <pre>{| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} |}</pre> Note the need for the start and end table brackets </noinclude> 238f1546616391cf640d29768f293971b0aa33e8 1038 1013 2024-02-02T15:30:53Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|+ {{{1}}} |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |-</includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} |} <pre>{| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} |}</pre> Note the need for the start and end table brackets and the use of [[Template:IndustryTableHeader]] </noinclude> f47a75821c1060dc0d68d795b59e9f0a29837a9f 1039 1038 2024-02-02T15:31:15Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|+ {{{1}}} |- ! rowspan="2"|Name !! rowspan="2"|Price (¥) !! rowspan="2"|Max Workers !! rowspan="2"|Recipe Time (s) !! class="unsortable" colspan="2"|Recipe !! rowspan="2"|Catalyst |- ! class="unsortable"|Input !! class="unsortable"|Output |-</includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} |} <pre>{| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry}} {{IndustryDataParser|Water Pump}} |}</pre> Note the need for the start and end table brackets and the use of [[Templates:IndustryTableHeader]] </noinclude> a1c352c230db500aba6ac8eaa7a088931ac80598 1040 1039 2024-02-02T15:39:01Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable sortable customTable" |+ {{{1}}} |- ! rowspan="2" class="customTableHeader"|Name !! rowspan="2" class="customTableHeader"|Price (¥) !! rowspan="2" class="customTableHeader"|Max Workers !! rowspan="2" class="customTableHeader"|Recipe Time (s) !! colspan="2" class="unsortable customTableHeader"|Recipe !! rowspan="2" class="customTableHeader"|Catalyst |- ! class="unsortable customTableHeader"|Input !! class="unsortable customTableHeader"|Output {{{2}}} |}</includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry|{{IndustryDataParser|Water Pump}}}} <pre> {{IndustryTableHeader|Resource Extraction Industry | }} {{IndustryDataParser|Water Pump}} </pre> Note the need for the start and end table brackets </noinclude> 7cff904c634c3ceb52ab77b465f604b7265d7df4 1043 1040 2024-02-02T15:41:31Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable sortable customTable" |+ {{{1}}} |- ! rowspan="2" class="customTableHeader"|Name !! rowspan="2" class="customTableHeader"|Price (¥) !! rowspan="2" class="customTableHeader"|Max Workers !! rowspan="2" class="customTableHeader"|Recipe Time (s) !! colspan="2" class="unsortable customTableHeader"|Recipe !! rowspan="2" class="customTableHeader"|Catalyst |- ! class="unsortable customTableHeader"|Input !! class="unsortable customTableHeader"|Output {{{2}}} |}</includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry|{{IndustryDataParser|Water Pump}}}} <pre> {{IndustryTableHeader|Resource Extraction Industry | }} {{IndustryDataParser|Water Pump}} </pre> </noinclude> 204a5d3e3e0d8f03602ead710a6aedd7e26269ef 1045 1043 2024-02-02T15:44:44Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable sortable customTable" |+ {{{1}}} |- ! rowspan="2" class="customTableHeader"|Name !! rowspan="2" class="customTableHeader"|Price (¥) !! rowspan="2" class="customTableHeader"|Max Workers !! rowspan="2" class="customTableHeader"|Recipe Time (s) !! colspan="2" class="unsortable customTableHeader"|Recipe !! rowspan="2" class="customTableHeader"|Catalyst |- ! class="unsortable customTableHeader"|Input !! class="unsortable customTableHeader"|Output {{{2}}} |}</includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry|{{IndustryDataParser|Water Pump}}}} <pre> {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDataParser|Water Pump}} }} </pre> </noinclude> f4911d839670e0e83862755ba2749b459c47d707 WorkRocket Platform 0 169 1014 421 2024-02-02T13:34:56Z Hiroteashi 379511 Hiroteashi moved page [[Worker Rocket Platform]] to [[WorkRocket Platform]] without leaving a redirect wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Worker Rocket Platform | cost = 8192 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 8 | in3 = Hulls | in3Ct = 6 | in4 = Motor | in4Ct = 24 }} |} ===Barks=== * Launching never gets boring! * We'll launch 'em if you bring 'em * Pointy side goes up * Do not tip bbfd9eaa58d1980c1a9c0b7233879b432cac3133 SpaceLiner Platform 0 170 1015 422 2024-02-02T13:35:29Z Hiroteashi 379511 Hiroteashi moved page [[Spaceliner Platform]] to [[SpaceLiner Platform]] without leaving a redirect wikitext text/x-wiki [[category:Structures]] ===Description=== {| class="wikitable" {{IndustryTableHeader|Recipe}} {{IndustryDetail|name = Spaceliner Platform | cost = 16384 | catalyst = Assembra | recipeTime = 64 | workers = 8 | in1 = Rockets | in1Ct = 8 | in2 = Retrograde | in2Ct = 16 | in3 = Luxury Rooms | in3Ct = 8 | in4 = Televisions | in4Ct = 8 }} |} ===Barks=== * Luxury is essential * Stretch your legs * Would you like cheese with that? * Gotta go fast 2fcc1310c00a4940b5dc17734a8d1f9219fa4a0e MediaWiki:Common.css 8 236 1016 698 2024-02-02T13:41:59Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes ***********************************************************************************************************/ table.railgrade-internal th { background-color: var(--theme-link-color); } table.railgrade-internal td { text-align: center; } 3b4b1e60fbadbdb28ca57664f6f7f285faa4f4cb 1017 1016 2024-02-02T14:40:10Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.railgrade-internal th tr:first{ color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } 8ab33d5bbc361f53d466240f44b953783935680b 1018 1017 2024-02-02T14:43:51Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.railgrade-internal tr:first{ color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } e9588a9ca52f76d6496b9118a8da302d7d2c309e 1019 1018 2024-02-02T14:54:00Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table#railgrade-internal tr:first{ color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } b57fc91307f2310e58ef8d238bdeab09d3ba560d 1021 1019 2024-02-02T14:59:58Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ #railgrade-internal > tr:first{ color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } 5ebfa9d7176b45e0eb43cf36e183236e351fbc76 1022 1021 2024-02-02T15:06:44Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ .railgrade-internal { margin: 1em 0; border: 1px solid #a2a9b1; border-collapse: collapse; } .railgrade-internal > tbody > tr:first-child { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } cc934e30d229ba1858127f8240a6963bbfc30a83 1026 1022 2024-02-02T15:12:23Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ .railgrade-internal, .railgrade-internal > tr:first-child > th, .railgrade-internal > * > tr > th { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } b6440169ff866a0db64cb7f4f6fecc379e226a32 1028 1026 2024-02-02T15:14:47Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ .railgrade-internal, .railgrade-internal > * > tr:first-child > th { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } 2c460f23da02bd95ec5b627e3c0aa5512e60b2c5 1029 1028 2024-02-02T15:16:12Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ .railgrade-internal, .railgrade-internal > tbody > tr:first-child > th { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } 644e3ff529c07cd96295a3de7d9133ffc35f03e6 1031 1029 2024-02-02T15:17:39Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ .railgrade-internal { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } 0d4991fb46f1a161ba62901e0853b0f77aaa65ee 1033 1031 2024-02-02T15:24:58Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ th.railgrade-internal { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } c0c54b9a7a15e69ecd6de53c33b0ad8878c9c13a 1034 1033 2024-02-02T15:27:38Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.internal th.railgrade-internal { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } 584910d9d69c7b295407de68ab05f34c90330393 1036 1034 2024-02-02T15:29:26Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.customTable th.customTableHeader { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } dbbacb58381e2be1c09a55cbcd90219ae51a3c25 Template:IndustryDataParser 10 305 1044 990 2024-02-02T15:43:39Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> ==Example Ouput== [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|Water Pump}} }} <pre>{{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|Water Pump}} }} </pre> Raw data can be found at [[module:Industry/Data]] </noinclude> 8dcc00935ba08f7e2a31fdb25a04a78b4bf80370 1046 1044 2024-02-02T15:48:27Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|Water Pump}} }} <pre>{{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|Water Pump}} }} </pre> Raw data can be found at [[module:Industry/Data]] </noinclude> f163a3eb29aa24eb053a639c45bf669aed749614 Template:IndustryDetail 10 75 1052 1048 2024-02-02T15:59:02Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }} </includeonly><noinclude> [[category:templates]] ===Example Output=== {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }} <pre>{{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> cd9f0e58cc8165bb983653460c3f4c5e10b03ae3 1053 1052 2024-02-02T16:01:32Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }}</includeonly><noinclude> [[category:templates]] ===Example Output=== {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }} <pre>{{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 4071e5f56038897d8943437caff04208da25f413 1055 1053 2024-02-02T16:03:21Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || {{{cost|0}}} || {{{workers|0}}} || {{{recipeTime|16}}} || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || {{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }}</includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }} <pre>{{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 4c6e1d2e437582948c0392610572d9769c811543 1057 1055 2024-02-02T16:13:14Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || <div class="aligncenter">{{{cost|0}}}</div> || <div class="aligncenter">{{{workers|0}}}</div> || <div class="aligncenter">{{{recipeTime|16}}} </div> || <div class="aligncenter">{{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || <div class="aligncenter">{{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }}</div> || <div class="aligncenter">{{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }}</div></includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }} <pre>{{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = water | in2Ct = 3 | out1 = Water | out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 63eb121a65b97e89f6f37d86553c7f1e7da84f31 1058 1057 2024-02-02T16:16:49Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || <div class="aligncenter">{{{cost|0}}}</div> || <div class="aligncenter">{{{workers|0}}}</div> || <div class="aligncenter">{{{recipeTime|16}}} </div> || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | ∅ }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | ∅ }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || <div class="aligncenter">{{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }}</div></includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} }} <pre> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 22d42f1c54482f7a9f3c52afdb0f830de12c56cf 1059 1058 2024-02-02T16:17:49Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || <div class="aligncenter">{{{cost|0}}}</div> || <div class="aligncenter">{{{workers|0}}}</div> || <div class="aligncenter">{{{recipeTime|16}}} </div> || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | <div class="aligncenter">∅</div> }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | <div class="aligncenter">∅</div> }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || <div class="aligncenter">{{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }}</div></includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} }} <pre> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 485b3e0285418229a106ad208c107edaacc3060b 1060 1059 2024-02-02T16:19:19Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || <div class="aligncenter">{{{cost|0}}}</div> || <div class="aligncenter">{{{workers|0}}}</div> || <div class="aligncenter">{{{recipeTime|16}}} </div> || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | <div class="aligncenter">∅</div> }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | <div class="aligncenter">∅</div> }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || <div class="aligncenter">{{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }}</div></includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} {{IndustryDataParser|Coal Mine}} }} <pre> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> e88c9725699c02cf776988a7f998dd6145e9ffa6 Template:Blockquote 10 174 1054 989 2024-02-02T16:03:02Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><blockquote class="templatequote" {{#if:{{{style|}}}|style="{{{style}}}"}}>"{{{text|}}}" {{#if:{{{signature|}}}|<div class="templatequotecite" style="margin-left:5em"><cite>{{{signature}}}</cite></div>}} </blockquote></includeonly><noinclude> [[category:templates]] {{blockquote | text = Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. | signature = Saito,<br/> Department Head of Off World Colonies<br /> Nakatani Chemicals}}<pre>{{blockquote | text = Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla. Duis non ligula quam. Aliquam iaculis hendrerit facilisis. Donec consequat rutrum nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eu magna nunc. Fusce accumsan semper odio ac faucibus. | signature = Saito,<br/> Department Head of Off World Colonies<br /> Nakatani Chemicals}}</pre></noinclude> 8254acdbd47eb711c806a528a0f7a5534cb916e3 MediaWiki:Common.css 8 236 1056 1036 2024-02-02T16:05:14Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.customTable th.customTableHeader { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } table.customTable td { text-align: center; } c7a31c492f9df1a04608c01cfda3a27afc084620 1062 1056 2024-02-02T16:25:02Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.customTable th.customTableHeader { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } table.customTable td.customTableData { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.5; } 0235a02f046d26d610156b6ce9275e79087daa93 1064 1062 2024-02-02T16:26:30Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.customTable th.customTableHeader { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } table.customTable td.customTableData { font-weight: bold; color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.5; } 3818313ce704327c3b7eab105db23f9803b635a6 1068 1064 2024-02-02T16:44:43Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.customTable th.customTableHeader { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } table.customTable .customTableData { font-weight: bold; color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.5; } 950a83e3584a71bad2c008277d542edaeda3442c 1069 1068 2024-02-02T16:45:15Z Hiroteashi 379511 css text/css /*********************************************************************************************************** * css reset for browser default rules and MediaWiki internal rules ***********************************************************************************************************/ * { outline: 0; } table { white-space: unset; /* be set to `no-wrap` in MW internal css */ } html { font-size: 16px; /* reset rem size */ } body { overflow-y: unset; } pre { margin: 0; } h1, h2, h3, h4, h5, h6 { padding: 0; border: 0 solid transparent; } table { display: table; white-space: unset; } body, code { background: none; } /*********************************************************************************************************** * css for wiki.gg top bar and footer bar ***********************************************************************************************************/ /********* wiki.gg header *********/ header#wikigg-header #p-personal ul { white-space: nowrap; /* for "log out" */ } header#wikigg-header #p-personal .vector-menu-content #pt-anonuserpage, header#wikigg-header #p-personal .vector-menu-content #pt-userpage a { /* user avatar icon position fix */ padding-top: 0; background-position: left center; } @media screen and (max-width: 720px) { header#wikigg-header #p-personal li#p-themes > span { display: inline-block; } } /********* wiki.gg footer *********/ footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { margin: 0; text-align: center; } @media screen and (max-width: 479px) { footer#wikigg-footer .footer-right, footer#wikigg-footer .footer-left { width: auto; } } @media screen and (max-width: 359px) { footer#wikigg-footer .footer-middle { /* hide wiki.gg logo to make room to avoid text wrapping */ display: none; } } /*********************************************************************************************************** * theming vars. ***********************************************************************************************************/ :root { /*** top site logo ***/ --theme-site-logo-image: url(/images/e/e6/Site-logo.png); --theme-site-logo-filter: none; --theme-site-logo-width: 572px; --theme-site-logo-height: 240px; /*** site background ***/ --theme-site-background: #a68389 url(/images/8/80/Site-background.jpg) center center / cover no-repeat fixed; /* common "box" style */ --theme-box-back-backdrop-filter: blur(7px); --theme-box-border-radius: 3px; --theme-box-border-width: 0px; --theme-box-border-style: solid; --theme-box-border-color: rgba(255,255,255,0.5); --theme-box-shadow: none; --theme-box-shadow2: none; --theme-box-back-background: rgba(0,0,0, 0.3); /* be used in multi-layer background, so we can't simpy use background-color */ --theme-box-background: linear-gradient(rgba(0,0,0, 0.5),rgba(0,0,0, 0.5)); --theme-background: var(--theme-box-background), var(--theme-box-back-background); /*** text color ***/ --theme-text-color: #fff; --theme-text-color-hover: var(--theme-text-color); --theme-text-color-note: #9e9a92; --theme-text-color-em: #b9ee7c; --theme-heading-color: var(--theme-text-color); --theme-heading-font-weight: bold; --theme-text-color-placeholder: #808080; --theme-control-text-color: #333; --theme-control-text-color-hover: #333; /*** link text color ***/ --theme-link-color: #ffd430; --theme-link-color-hover: #ffd430; --theme-link-color-visited: var(--theme-link-color); --theme-link-color-redlink: #de4545; --theme-link-color-focus: var(--theme-link-color); /* default color for icons */ --theme-icon-color: var(--theme-link-color); --theme-icon-color-redlink: var(--theme-link-color-redlink); --theme-icon-color-hover: var(--theme-link-color-hover); /* default common color */ --theme-border-color: rgba(255,255,255,0.5); --theme-border-color-accent: rgba(255, 212, 48, 0.3); --theme-highlight-background: rgba(0,0,0, 0.5); /* dropdown menu */ --theme-dropdown-border: 0; --theme-dropdown-background: rgba(0,0,0,0.5); --theme-dropdown-backdrop-filter: blur(5px); /* for wide table */ --theme-wide-table-shadow-color: #999; /** notification **/ --theme-notice-red-text-color: #ff001f; --theme-notice-orange-text-color: #ffab5b; /* portable infobox */ --pi-background: none; --pi-border-color: var(--theme-box-border-color); --pi-secondary-background: rgba(127,127,127,0.08); --pi-secondary-background--label: var(--theme-text-color); --pi-item-spacing: 8px 10px; } /* content box */ /* main article content box (without top heading) */ /* sidebar */ #mw-panel { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-border-width: 0; --theme-gap: 0; } #catlinks { --theme-background: none; --theme-box-border-radius: 0; } #footer { --theme-background: none; } /* navbar */ #mw-head { --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-link-color); --theme-background: none; --theme-background-shadow: linear-gradient(to top, rgba(0,0,0,0.05), transparent 6px); --theme-tab-background: rgba(0,0,0, 0.25); --theme-tab-background-selected: rgba(0,0,0, 0.5); --theme-tab-color-selected: var(--theme-text-color); --theme-tab-color-selected-hover: var(--theme-tab-color-selected); --theme-tab-border-color: var(--theme-box-border-color); --theme-tab-border-color-selected: var(--theme-box-border-color); } #mw-head #p-search { --theme-border-color: var(--theme-box-border-color); --theme-link-color: var(--theme-text-color); --theme-background: var(--theme-box-background); --theme-border-color-hover: var(--theme-icon-color-hover); --theme-border-color-focus: var(--theme-border-color-hover); --theme-shadow: none; --theme-shadow-focus: var(--theme-box-shadow); } /* search result suggestion */ body > .suggestions { --theme-border-color: var(--theme-box-border-color); --theme-rule-color: var(--theme-border-color); --theme-link-color: var(--theme-text-color); --theme-link-color-visited: var(--theme-text-color); --theme-link-color-hover: var(--theme-text-color-hover); } .gallery { --theme-gap-x: 6px; --theme-gap-y: 6px; } .thumb { --theme-box-border-radius: 0; } /*********************************************************************************************************** * base css styles for both interface and content box: font, color, etc. ***********************************************************************************************************/ /** Font **/ html, body { font-family: Helvetica, Arial, sans-serif; color: var(--theme-text-color); } html { background: var(--theme-site-background); } body { font-size: 14px; line-height: 1.5; } ul, ol { margin: 2px 0 2px 1.5em; } li { margin: 0 0 2px 0; } pre, code, .mw-code { color: var(--theme-text-color); border: 1px solid var(--theme-border-color); background: var(--theme-background); } /** link color **/ body a, body a.external, body a.extiw, .mw-parser-output a, .mw-parser-output a.external, .mw-parser-output a.extiw { text-decoration: none; color: var(--theme-link-color); } body a:visited, body a.external:visited, body a.extiw:visited, .mw-parser-output a:visited, .mw-parser-output a.external:visited, .mw-parser-output a.extiw:visited { color: var(--theme-link-color-visited); } body a:hover, body a:active, body a.external:hover, body a.external:active, body a.extiw:hover, body a.extiw:active, .mw-parser-output a:hover, .mw-parser-output a:active, .mw-parser-output a.external:hover, .mw-parser-output a.external:active, .mw-parser-output a.extiw:hover, .mw-parser-output a.extiw:active { text-decoration: underline; color: var(--theme-link-color-hover); } body a.selflink:hover, body a.selflink:active, .mw-parser-output a.selflink:hover, .mw-parser-output a.selflink:active { /* Self-links aren't real links, they're not clickable. * Hence, they shouldn't change color when hovered over like real links, as that is counter-intuitive. * We should not use :not(.selflink) since it increases the priority and make it is difficult to override * link styles for certain elements (e.g. in wiki.gg header). */ text-decoration: none; color: var(--theme-link-color); } body a.new, body a.new:visited, .mw-parser-output a.new, .mw-parser-output a.new:visited { /** red link **/ /* we don't really need to mark you have "visited" an inexistent page */ color: var(--theme-link-color-redlink); } /*********************************************************************************************************/ input, button { color: var(--theme-control-text-color); } input[type=submit] { color: var(--theme-control-text-color); } ::placeholder { color: var(--theme-text-color-placeholder); } /* Removes VisualEdit button */ #ca-ve-edit { display: none; } /* Text color */ .i .note, .note-text { color: var(--theme-text-color-note); } em { color: var(--theme-text-color-em); } .pixel img, .pixel, #mw-imagepage-section-filehistory img { image-rendering: pixelated; /*for chrome*/ image-rendering: crisp-edges; /*for firefox*/ } .small { font-size: 85%; } .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /* References smaller text than main */ .references { font-size: 90%; } /* Larger font for Module: code display (default is smaller than other code pages) */ pre.lua.source-lua { font-size: 14px !important; } /* Facilitate inline scary transclusion */ .scary-transclusion p, .scary-transclusion .mw-parser-output { display: inline; } /* hide last empty paragraph at the end */ div.mw-parser-output > p:last-child > br:only-child { display: none; } /* Fix empty parameter descriptions on api.php having no height, causing misalignments that seriously impede readability */ .apihelp-parameters dd:empty::before { content: " "; } .block { display: block; } .inline { display: inline; } .inline-block { display: inline-block; } hr.space { height: 4px; background: none; border: 0; } .page-content .vertical-align-top * { vertical-align: top; } .page-content .vertical-align-bottom * { vertical-align: bottom; } /* Drowning Table No Border */ .drowning-table-no-border { border: none; } /* Gadget description length */ .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-top > .oo-ui-fieldLayout-body > .oo-ui-fieldLayout-header, .oo-ui-fieldLayout.oo-ui-labelElement.oo-ui-fieldLayout-align-inline > .oo-ui-fieldLayout-body { max-width: unset; } /* Box at the top of all pages when the user has a new message on their User_talk: page */ .usermessage { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); } /*********************************************************************************************************** * interface layout and styles for widgets outside of content box ***********************************************************************************************************/ :root { --layout-topbar-height: 35px; /* height of wiki.gg topbar */ --layout-sidebar-width: 180px; /* width of side navbar, without gap */ --layout-sidespace: 12px; /* whitespace width on most left and most right */ --layout-content-width: minmax(0,1fr); --layout-box-gap: 12px; --layout-logo-scale: 1; --layout-logo-width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); --layout-logo-height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); --layout-logo-box-height: calc(var(--layout-logo-height) + var(--layout-box-gap) * 1); --dropdown-item-padding-x: 12px; --dropdown-item-padding-y: 4px; } @media screen and (min-width: 1740px) { :root { --layout-sidespace: minmax(0,1fr); /* whitespace width on most left and most right */ --layout-content-width: 1500px; } } /**** Main Layout START ***********************************************************/ /** * Note: wiki.gg topbar is position:fixed. So we don't need to consider it in grid layout */ html, body { min-height: 100%; } html { height: 100%; scroll-padding-top: calc(var(--layout-topbar-height) + 10px); } body { height: auto; } /*** main grid container ***/ body { /* self */ box-sizing: border-box; /* grid */ display: grid; grid-template-columns: [body-left] var(--layout-sidespace) [aside-left] var(--layout-sidebar-width) [aside-right nav-left content-left footer-left] var(--layout-content-width) [nav-right content-right footer-right] var(--layout-sidespace) [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end nav-start aside-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [aside-end page-end] 0fr [body-end]; gap: 0 var(--layout-box-gap); } /*** grid items ***/ /* Flatten DOM structure. Therefore we have following grid items under body grid container: * div#mw-page-base, div#mw-head-base, #mw-navigation>h2, div#mw-head, div#mw-panel, div#content.mw-body, div#footer, footer. */ body > .content-wrapper, #mw-navigation { display: contents; } /** unused, hide them **/ #mw-head-base, #mw-navigation > h2 { display: none; } /** side nav bar **/ #mw-panel { grid-column: aside-left/aside-right; grid-row: aside-start/aside-end; margin-bottom: var(--layout-box-gap); float: none; width: unset; padding: 0; } /** nav **/ #mw-head { grid-column: nav-left/nav-right; grid-row: nav-start/nav-end; } /** content **/ .mw-body { grid-column: content-left/content-right; grid-row: content-start/content-end; } /* For some page such as api.php, .mw-body is the only child, so take up all space. */ .mw-body:first-child { grid-column: body-left/body-right; grid-row: page-start/page-end; } /** #footer: content footer **/ #footer { grid-column: footer-left/footer-right; grid-row: footer-start/footer-end; margin: 0; z-index: 0; } /** used to gen box shadow for main box (nav + content + #footer) **/ #mw-page-base { grid-column: content-left/content-right; grid-row: nav-start/footer-end; height: 100%; } /** wiki.gg footer bar **/ body > footer { grid-column: body-left/body-right; grid-row: page-end/body-end; } /*** logo block. It is absolute position ***/ #p-logo { position: absolute; width: 100%; height: auto; left: 0; top: var(--layout-topbar-height); background: var(--theme-site-logo-image) center center/var(--layout-logo-width) auto no-repeat; display: flex; align-items: center; justify-content: center; filter: var(--theme-site-logo-filter); } /* use logo image as <a>'s background will sometime flicker when hovered on Firefox, * I still don't know why, but move background to #p-logo can avoid this issue. */ #p-logo .mw-wiki-logo { width: var(--layout-logo-width); height: var(--layout-logo-height); margin: auto; background: none; /* logo flicker fix */ } /**** Main Layout END ***********************************************************/ /********* side panel START *********/ #mw-panel { --list-body-font-size: 14px; --list-body-padding-x: 6px; --list-body-padding-y: 3px; } #mw-panel a { text-decoration: none; } /* section box */ #mw-panel .portal { margin: 0 0 var(--layout-box-gap) 0; padding: 8px 0 0 0; box-sizing: border-box; background: rgba(0, 0, 0, 0.3); backdrop-filter: var(--theme-box-back-backdrop-filter); border-radius: var(--theme-box-border-radius); position: relative; } #mw-panel .portal::before { content: ""; display: block; background: repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.13), rgba(0, 0, 0, 0.13) 0.707px, rgba(0, 0, 0, 0) 0.707px, rgba(0, 0, 0, 0) 4.949px), rgba(0, 0, 0, 0.2); width: 100%; height: 100%; position: absolute; top: 4px; left: 4px; z-index: -1; border-radius: var(--theme-box-border-radius); } #mw-panel .portal::after { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; transform: scaleX(-1); } #mw-panel .portal .vector-menu-heading { /* section heading */ background: none; margin: 0 10px; padding: 8px 0; border-bottom: 2px solid rgba(255, 255, 255, 0.25); font-size: 18px; font-weight: bold; line-height: 18px; cursor: pointer; display: flex; align-items: center; justify-content: space-between; color: var(--theme-heading-color); } /* show the heading of first section */ #mw-panel #p-logo + .portal .vector-menu-heading { display: flex; } /* arrow icon */ #mw-panel .portal .vector-menu-heading::after { content: ""; display: block; background: none; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px; margin-top: 2px; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading:hover::after { border-color: var(--theme-icon-color-hover) transparent; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: scaleY(-1); } /* list body */ #mw-panel .portal .body { background: none; border: 0; padding: 0; margin: 4px 0 0 0; } #mw-panel .portal .body ul { padding: var(--theme-gap) 4px 4px; } #mw-panel .portal .body li { margin: 0; padding: 0; font-size: var(--list-body-font-size); line-height: inherit; } #mw-panel .portal .body li:hover { background: var(--theme-highlight-background); } #mw-panel .portal .body li a { display: block; padding: var(--list-body-padding-y) var(--list-body-padding-x); color: var(--theme-link-color); } #mw-panel .portal .body li a:visited { color: var(--theme-link-color-visited); } #mw-panel .portal .body li a:hover { color: var(--theme-link-color-hover); } /* "Atom" RSS Feed */ #mw-panel .portal .body li a.feedlink { text-indent: calc(var(--list-body-font-size) + 2px); background-position: var(--list-body-padding-x) center; /* align icon with other text */ } /********* side panel END *********/ /********* main content box *********/ /**** background box for nav+content+#footer ****/ #mw-page-base { box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-back-background); z-index: -1; position: relative; } #mw-page-base::after { content: ""; display: block; width: 4px; height: 100%; position: absolute; right: -9px; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; opacity: 0.25; } #mw-head, #content, #footer { box-sizing: border-box; background-clip: padding-box; border: var(--theme-box-border-width) solid transparent; margin: 0; } #mw-head { border-bottom-width: 0; } #content { border-top-width: 0; border-bottom-width: 0; } #footer { border-top-width: 0; } /****** navbar (#mw-head) ******/ /* reset */ #mw-head * { float: unset; font-size: unset; line-height: unset; } /* tabs layout */ #mw-head { --layout-padding: 12px; --layout-gap: 6px; --tab-padding-x: 12px; --tab-padding-y: 5px; --icon-size: 1em; padding: var(--layout-padding) 0 0 0; background: var(--theme-background); position: relative; display: flex; justify-content: space-between; align-items: stretch; } #mw-head #left-navigation, #mw-head #right-navigation { float: none; flex: 1 1 auto; margin: 0; display: flex; align-items: flex-end; } #mw-head #left-navigation::before, #mw-head #left-navigation::after, #mw-head #right-navigation::before, #mw-head #right-navigation::after { content: ""; display: block; height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); } #mw-head #left-navigation { justify-content: flex-start; } #mw-head #right-navigation { justify-content: flex-end; } #mw-head #left-navigation::before, #mw-head #right-navigation::after { flex: 0 0 var(--layout-padding); } #mw-head #left-navigation::after, #mw-head #right-navigation::before { flex: 1 1 auto; } /*** tabs of navbar ***/ /* reset */ #mw-head .vector-menu, #mw-head .vector-menu * { background: none; } /* tabs list */ #mw-head .vector-menu-tabs { height: unset; padding: unset; } #mw-head .vector-menu-tabs .vector-menu-content-list { display: flex; align-items: flex-end; } /* tab */ #mw-head { --theme-tab-border-style: solid; --theme-tab-border-width: 0px; --theme-border-bottom-style: solid; --theme-border-bottom-width: 0px; --theme-border-bottom-color: var(--theme-tab-border-color-selected); --theme-border-bottom-color-selected: transparent; } #mw-head .vector-menu-tabs .mw-list-item, #mw-head .vector-menu-dropdown { /* outer box */ background: var(--theme-tab-background); border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); border-radius: 0 var(--theme-box-border-radius) 0 0; position: relative; margin-right: var(--layout-gap); /* make space for gap */ } #mw-head .vector-menu-tabs .mw-list-item::after, #mw-head .vector-menu-dropdown::after { /* gap */ content: ""; display: block; width: var(--layout-gap); height: 100%; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); position: absolute; left: 100%; bottom: calc(0px - var(--theme-border-bottom-width)); background: var(--theme-background-shadow); } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { /* inner box */ height: auto; margin: 0; padding: var(--tab-padding-y) var(--tab-padding-x) var(--tab-padding-y) calc(var(--tab-padding-x) + 2px); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color); border-bottom: 0; border-radius: 0 var(--theme-box-border-radius) 0 0; color: var(--theme-link-color); background: url(/images/b/bc/Shape-r.png) left center/4px auto no-repeat; } #mw-head .vector-menu-tabs .mw-list-item a:hover, #mw-head .vector-menu-dropdown .vector-menu-heading:hover { color: var(--theme-link-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a.new, #mw-head .vector-menu-dropdown .vector-menu-heading.new { color: var(--theme-link-color-redlink); } #mw-head .vector-menu-tabs .mw-list-item.selected { /* outer box: selected */ background: var(--theme-tab-background-selected); border: var(--theme-tab-border-width) var(--theme-tab-border-style) var(--theme-tab-border-color-selected); border-bottom: 0; --theme-link-color: var(--theme-tab-color-selected); --theme-link-color-hover: var(--theme-tab-color-selected-hover); --theme-icon-color: var(--theme-tab-color-selected); --theme-icon-color-hover: var(--theme-tab-color-selected-hover); } #mw-head .vector-menu-tabs .mw-list-item.selected:after { /* gap */ bottom: 0; padding-left: var(--theme-tab-border-width); /* x-position offset */ } #mw-head .vector-menu-tabs .mw-list-item.selected a { /* inner box: selected */ border: 0; border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color-selected); background: url(/images/7/7d/Shape-rr.png) left center/4px auto no-repeat; color: var(--theme-tab-color-selected); } /* dropdown menu*/ #mw-head .vector-menu-dropdown .vector-menu-heading { /* tab label */ position: relative; display: flex; align-items: center; gap: 3px; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { /* arrow icon */ background: none; opacity: unset; content: ""; display: block; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 6px 5px 0; margin-top: 2px; } #mw-head .vector-menu-dropdown:hover .vector-menu-heading::after { /* .vector-menu-heading is covered by .vector-menu-checkbox, therefore we can't use .vector-menu-heading:hover::after */ border-color: var(--theme-icon-color-hover) transparent; } #mw-head .vector-menu-dropdown .vector-menu-content { /* dropdown list body */ border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; left: 0; /* reset */ } #mw-head .vector-menu-dropdown .vector-menu-content ul { padding: 4px; } #mw-head .vector-menu-dropdown .vector-menu-content li:hover { background: var(--theme-highlight-background); } #mw-head .vector-menu-dropdown .vector-menu-content li a { display: block; padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x); text-decoration: none; color: var(--theme-link-color); } #mw-head .vector-menu-dropdown .vector-menu-content li a:visited { color: var(--theme-link-color-visited); } #mw-head .vector-menu-dropdown .vector-menu-content li a:hover { color: var(--theme-link-color-hover); } /* watch/unwatch star */ #mw-head .vector-menu-tabs .mw-watchlink.icon a { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-watchlink.icon a:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-watchlink.icon a span { display: none; } #mw-head .vector-menu-tabs .mw-watchlink.icon a::before { transform-origin: 50% calc(var(--icon-size) / 2 * 1.125); } #mw-head .vector-menu-tabs #ca-watch.icon { /* line star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Zm-7.34,6-1.17.86.44,1.38,2.09,6.41-5.45-4L16,21.46l-1.18.86-5.45,4,2.09-6.41.44-1.38-1.17-.86-5.45-4h8.19l.45-1.38L16,5.89l2.08,6.4.45,1.38h8.19Z'/%3E%3C/g%3E%3C/svg%3E"); } #mw-head .vector-menu-tabs #ca-unwatch.icon { /* solid star */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M28.61,11.67H20l-2.66-8.2a1.39,1.39,0,0,0-2.64,0L12,11.67H3.39a1.39,1.39,0,0,0-.82,2.51l7,5.07L6.89,27.46a1.39,1.39,0,0,0,1.32,1.82A1.43,1.43,0,0,0,9,29l7-5.07L23,29a1.43,1.43,0,0,0,.81.27,1.39,1.39,0,0,0,1.32-1.82l-2.66-8.21,7-5.07A1.39,1.39,0,0,0,28.61,11.67Z'/%3E%3C/g%3E%3C/svg%3E"); } /*** search form ***/ #mw-head #p-search { /* navbar common border bottom */ border-bottom: var(--theme-border-bottom-width) var(--theme-border-bottom-style) var(--theme-border-bottom-color); background: var(--theme-background-shadow); margin: 0; align-self: stretch; } #mw-head #p-search form { margin: 0; } #mw-head #p-search .vector-search-box-inner { border-width: 1px; border-style: solid; border-color: var(--theme-border-color); border-radius: 2px; } #mw-head #p-search .vector-search-box-inner:hover { border-color: var(--theme-border-color-hover); } #mw-head #p-search .vector-search-box-inner:focus-within { border-color: var(--theme-border-color-focus); box-shadow: var(--theme-shadow-focus); } #mw-head #p-search .vector-search-box-input { border: 0; color: var(--theme-text-color); background: var(--theme-background); box-shadow: var(--theme-shadow); height: 26px; padding: 0 26px 0 4px; } #mw-head #p-search .vector-search-box-input:focus { outline: 0; box-shadow: none; z-index: 1100; /* .suggestions: 1099 */ } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { z-index: 1101; } #mw-head #p-search .vector-search-box-input::placeholder { color: var(--theme-text-color-note); } #mw-head #p-search .mw-searchButton { opacity: 0; } #mw-head #p-search .searchButton { width: 26px; min-width: unset; opacity: 1; background-image: none; --mask: url("data:image/svg+xml,%3C%3Fxml version='1.0'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ctitle%3E search %3C/title%3E%3Cpath fill-rule='evenodd' d='M12.2 13.6a7 7 0 1 1 1.4-1.4l5.4 5.4-1.4 1.4-5.4-5.4zM13 8A5 5 0 1 1 3 8a5 5 0 0 1 10 0z'/%3E%3C/svg%3E%0A") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 18px 18px; mask-size: 18px 18px; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-link-color); } #mw-head #p-search #searchform:hover .searchButton { background-color: var(--theme-link-color-hover); } #mw-head #p-search .vector-search-box-input:focus ~ .searchButton { background-color: var(--theme-link-color-focus); } /*** search result suggestions ***/ .suggestions { background: var(--theme-background); box-sizing: border-box; margin-top: 0; box-shadow: var(--theme-box-shadow); backdrop-filter: var(--theme-box-back-backdrop-filter); } .suggestions .suggestions-results, .suggestions .suggestions-special { background: none; } .suggestions .suggestions-results { border: 1px solid var(--theme-border-color); border-top: 0; border-bottom-color: var(--theme-rule-color); } .suggestions .suggestions-results:empty { border-bottom: 0; } .suggestions .suggestions-result, .suggestions .suggestions-special .special-label, .suggestions .suggestions-special .special-query { color: var(--theme-text-color); } .suggestions .suggestions-result { padding: 1px 4px; } .suggestions .suggestions-special { margin: 0; padding: 2px 4px 4px; border: 1px solid var(--theme-border-color); border-top: 0; border-radius: var(--theme-box-border-radius); border-top-left-radius: 0; border-top-right-radius: 0; } .suggestions a.mw-searchSuggest-link, .suggestions a.mw-searchSuggest-link:hover, .suggestions a.mw-searchSuggest-link:active, .suggestions a.mw-searchSuggest-link:focus { color: var(--theme-link-color); } .suggestions .suggestions-result-current { background: var(--theme-highlight-background); color: var(--theme-link-color-hover); } .suggestions .suggestions-result-current .special-label, .suggestions .suggestions-result-current .special-query { color: var(--theme-link-color-hover); } /**** main content box ****/ /* font */ .vector-body { font-size: unset; /* reset */ line-height: 1.7142857143; } /** layout **/ #content { color: var(--theme-text-color); padding: 0; display: flex; flex-direction: column; background: var(--theme-box-background); --theme-heading-rule-color-h1: var(--theme-border-color); --theme-heading-rule-color-h2: var(--theme-border-color); --layout-padding-x: 24px; --layout-padding-y: 16px; } .content-body { flex: 1 1 auto; } .content-body > main { align-self: stretch; padding: var(--layout-padding-y) var(--layout-padding-x); } #bodyContent { display: flex; flex-direction: column; position: unset; } /** main heading section **/ #firstHeading { overflow: hidden; /* override mw internal css, fix scroll-x issue for narrow width */ } /** the " < rootpage < page " crumb **/ #contentSub, #contentSub2 { margin: 0; color: var(--theme-text-color-note); font-size: 12px; line-height: 20px; } #contentSub .subpages { color: transparent; line-height: 20px; font-size: 0; } #contentSub .subpages a { font-size: 12px; vertical-align: middle; display: inline-flex; align-items: center; padding-left: 4px; } #contentSub .subpages a::before { content: ""; display: inline-block; height: 4px; width: 4px; border-color: var(--theme-icon-color); border-style: solid; border-width: 0 0 2px 2px; margin: 0 2px 0 0; transform: rotate(45deg); } #contentSub::after { /* the spacing and line between heading section and content body box */ content: ""; display: block; height: 0; margin-top: 4px; margin-bottom: var(--layout-padding-y); } /** content body box **/ #mw-content-text { flex: 1 1 auto; min-height: 30em; } /*** "category:" box ***/ #catlinks { background: var(--theme-background); border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); margin: var(--layout-padding-y) 0 0 0; padding: 0.5em 1em; } /*** ads ***/ div.games-showcase-header { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0; } div.games-showcase-footer { margin: 0; padding: 0 var(--layout-padding-x) var(--layout-padding-y); } .content-body > .games-showcase-sidebar { margin: 0; padding: var(--layout-padding-y) var(--layout-padding-x) 0 0; } .games-showcase-header img, .games-showcase-footer img { height: 100%; width: auto; object-fit: contain; } @media screen and (max-width: 1100px) { .games-showcase-header img, .games-showcase-footer img { height: auto !important; width: 100% !important; object-fit: contain; } } @media screen and (max-width: 926px) { .games-showcase-header img, .games-showcase-footer img { object-position: 50%; height: 105px !important; width: 100% !important; object-fit: none !important; } } aside.games-showcase-sidebar div.sidebar-showcase { padding: 0 0 var(--layout-padding-y) 0; } /**** #footer (copyright info) ****/ #footer { background: var(--theme-background); padding: 16px 24px; border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); position: relative; /* grid */ display: grid; grid-template-columns: [l] 1fr 0fr [r]; grid-template-rows: [t] auto auto [b]; z-index: 0; /* covered by content */ font-size: 12px; } .mw-footer li { color: var(--theme-text-color); } #footer a { color: var(--theme-link-color); } #footer a:hover { color: var(--theme-link-color-hover); } #footer-info { display: contents; } #footer ul li { font-size: inherit; line-height: 1.5; padding: 0; } #footer-icons { grid-column: span 1/r; grid-row: t/b; place-self: end; } #footer #footer-info-lastmod { grid-column: l/span 1; grid-row: t/span 1; place-self: start; margin-bottom: 1em; } #footer #footer-info-copyright { grid-column: l/span 1; grid-row: span 1/b; place-self: end stretch; position: relative; padding-right: 100px; } #footer-info-copyright img { position: absolute; right: 0; bottom: 0; height: 31px; width: auto; } #footer-places > * { margin-top: 1em; } /****** responsive Layout ******/ @media screen and (max-width: 1365px) { :root { --layout-logo-scale: 0.75; } /* change layout */ body { grid-template-columns: [body-left] 0 [aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right] 0 [body-right]; grid-template-rows: [body-start] var(--layout-topbar-height) [page-start logo-start] var(--layout-logo-box-height) [logo-end aside-start] auto [aside-end nav-start] 0fr [nav-end content-start] auto [content-end footer-start] 0fr [footer-end] 1fr [page-end] 0fr [body-end]; } /* re-style navbar */ #mw-panel { display: flex; align-items: flex-end; box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); padding: 0 var(--layout-box-gap); /* Make #p-logo be positioned relative to #mw-panel. By this way, we can safely apply filter/backdrop-filter on #mw-panel */ position: relative; z-index: 1; } #mw-panel .portal { background: none; box-shadow: none; border: 0; margin: 0; padding: 0; position: relative; } #mw-panel .portal::before, #mw-panel .portal::after { display: none; } #mw-panel .portal .vector-menu-heading { margin: 0; transform: unset; padding: 9px 12px; border: 0; border-radius: 0; background: none; } #mw-panel .portal .vector-menu-heading::after { border-width: 6px 5px 0; /* change arrow direction */ margin-left: 4px; } #mw-panel .portal.collapsed .vector-menu-heading::after { transform: none; } #mw-panel .portal .body { margin-top: 0; display: none !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: absolute; left: 0; top: 100%; width: max-content; min-width: 8em; border: var(--theme-dropdown-border); border-radius: var(--theme-box-border-radius); background: var(--theme-dropdown-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-top-left-radius: 0; border-top-right-radius: 0; } #mw-panel .portal .body ul { padding: 4px; } #mw-panel .portal .body li a { padding: 6px 12px; } #mw-panel .portal.expanded .vector-menu-heading, #mw-panel .portal:hover .vector-menu-heading { background: var(--theme-highlight-background); border-radius: 0; } #mw-panel .portal.expanded .vector-menu-heading::after, #mw-panel .portal:hover .vector-menu-heading::after { transform: scaleY(-1); } #mw-panel .portal.expanded .body, #mw-panel .portal:hover .body { display: block !important; } /* search: move to sidebar nav box ("main nav bar") */ #mw-head #p-search { padding: var(--layout-padding); border-bottom: 0; position: absolute; right: 0; top: calc(-56px - var(--theme-box-border-width) * 2); /* offset */ z-index: 2; background: none; } .vector-search-box-inner { width: 20em; max-width: unset; min-width: unset; } #mw-head #right-navigation #p-cactions { margin-right: 0; } /* logo: smaller, and position relative to #mw-panel */ #p-logo { background-size: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)) auto; top: calc(0px - var(--layout-logo-box-height)); } #p-logo .mw-wiki-logo { width: calc(var(--theme-site-logo-width) * var(--layout-logo-scale)); height: calc(var(--theme-site-logo-height) * var(--layout-logo-scale)); } /* "more" menu in #right-navigation */ #mw-head #right-navigation .vector-menu-dropdown { margin-right: 0; } #mw-head #right-navigation .vector-menu-dropdown::after { display: none; } #mw-head #right-navigation .vector-menu-dropdown .vector-menu-content { left: auto; right: 0; } } /* screen and (max-width: 1365px) */ @media screen and (max-width: 900px) { /* change layout */ body { grid-template-columns: [body-left aside-left nav-left content-left footer-left] minmax(0, 1fr) [content-right aside-right nav-right footer-right body-right]; } #mw-page-base, #mw-panel, #mw-head, #content, #footer { border-radius: 0; border-left: 0; border-right: 0; } .mw-indicators { z-index: auto; } /* re-style navbar */ #mw-panel { flex-wrap: wrap; } #mw-panel .portal { backdrop-filter: none; position: unset; flex: 0 0 auto; } #mw-panel .portal .vector-menu-heading { white-space: nowrap; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal .body { left: 0; width: 100%; padding: 12px; box-sizing: border-box; } #mw-panel .portal .body ul { display: grid; grid-template-columns: repeat(auto-fit, var(--layout-sidebar-width)); justify-content: center; } #mw-panel .portal .body li a { display: block; } } /* screen and (max-width:900px) */ @media screen and (max-width: 720px) { :root { --layout-logo-scale: 0.5; } #p-logo { width: 100%; left: 0; } #mw-panel { box-shadow: var(--theme-box-shadow2); display: block; height: calc(36px + var(--theme-box-border-width) * 2); } #mw-panel .portal { box-sizing: border-box; display: none; box-shadow: none; background: var(--theme-background); backdrop-filter: var(--theme-dropdown-backdrop-filter); border-left: var(--theme-dropdown-border); border-right: var(--theme-dropdown-border); margin: 0; border-radius: 0; } #mw-panel .portal .vector-menu-heading { padding: 0 12px 4px; border: 0; display: block; background: none; } #mw-panel .portal .vector-menu-heading::after { display: none; } #mw-panel .portal:hover .vector-menu-heading { background: none; color: var(--theme-heading-color); } #mw-panel .portal .body { display: block !important; /* !important is required, since there is inline-css from sidebar collapse/expand */ position: unset; border: 0; background: none; backdrop-filter: none; padding: 4px 12px; } #mw-panel .portal .body ul { padding: 0; display: flex; flex-wrap: wrap; justify-content: unset; } #mw-panel .portal .body li a { padding: 4px 8px; white-space: nowrap; } #mw-panel .portal:last-child { padding-bottom: 12px; border-bottom: var(--theme-dropdown-border); border-radius: 0 0 var(--theme-box-border-radius) var(--theme-box-border-radius); } #mw-panel .menu-toggle { --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-category-2' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M14 4h6v6h-6z'%3E%3C/path%3E%3Cpath d='M4 14h6v6h-6z'%3E%3C/path%3E%3Cpath d='M17 17m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3Cpath d='M7 7m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); cursor: pointer; display: block; flex: 0 0 auto; width: 24px; height: 24px; margin: 5px 12px; } #mw-panel .menu-toggle.expanded ~ .portal { display: block; } #mw-panel .menu-toggle + .portal { padding-top: 12px; border-top: var(--theme-dropdown-border); } #mw-head #p-search { box-shadow: none; padding: 0; top: calc(-44px - var(--theme-box-border-width) * 2); /* offset */ left: auto; right: 12px; width: auto; z-index: 3; } .vector-search-box-inner { width: 100vw; max-width: 20em; } #content { --layout-padding-x: 12px; --layout-padding-y: 12px; } /* icon navbar tabs */ #mw-head { top: unset; /* reset */ --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg fill='none' height='24' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h24v24H0z' fill='none' stroke='none'/%3E%3Cpath d='M4 4l4 16l4 -14l4 14l4 -16'/%3E%3C/svg%3E"); --icon-size: 1.5em; } #mw-head .vector-menu-tabs .mw-list-item a, #mw-head .vector-menu-dropdown .vector-menu-heading { --theme-link-color-hover: var(--theme-icon-color-hover); width: 1.5em; /* same as line height */ height: 1.5em; box-sizing: content-box; padding: var(--tab-padding-y) var(--tab-padding-y) var(--tab-padding-y) calc(var(--tab-padding-y) + 2px); color: transparent; /**<< for watch/unwatch, the text of <a> will be plain 'watch'/'unwatch' without <span> after clicking. **/ } #mw-head .vector-menu-tabs .mw-list-item a::before, #mw-head .vector-menu-dropdown .vector-menu-heading::before { content: ""; display: block; position: unset; background-image: none; width: var(--icon-size); height: var(--icon-size); margin: calc((1.5em - var(--icon-size)) / 2); --mask: var(--icon) no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-icon-color); } #mw-head .vector-menu-tabs .mw-list-item a:hover::before, #mw-head .vector-menu-dropdown .vector-menu-heading:hover::before { background-color: var(--theme-icon-color-hover); } #mw-head .vector-menu-tabs .mw-list-item a span, #mw-head .vector-menu-dropdown .vector-menu-heading span { display: none; } #mw-head .vector-menu-dropdown .vector-menu-heading::after { display: none; } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-edit { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M29.12,6.05,26,2.88a3,3,0,0,0-4.24,0L6.29,18.29a3.06,3.06,0,0,0-.72,1.18L2.08,29.92l10.46-3.49a3.15,3.15,0,0,0,1.17-.72L29.12,10.29a3,3,0,0,0,0-4.24Zm-21,13.28,8.75-8.74,1.58,1.58L9.67,20.92ZM18.24,9.17l1.59-1.58,4.58,4.58-1.58,1.59ZM7.1,21.19l3.72,3.71L5.25,26.75Zm5.57,2.73-1.59-1.59,8.75-8.74,1.58,1.58Zm15-15-1.88,1.88L21.24,6.17l1.88-1.88A1,1,0,0,1,23.83,4a1,1,0,0,1,.71.29l3.17,3.18a1,1,0,0,1,.29.7A1,1,0,0,1,27.71,8.88Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-view, #ca-view-foreign { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M30.89,15.54A17,17,0,0,0,16,6,17,17,0,0,0,1.11,15.54L.87,16l.24.46A17,17,0,0,0,16,26a17,17,0,0,0,14.89-9.54l.24-.46ZM24,16a8,8,0,1,1-8-8A8,8,0,0,1,24,16ZM3.14,16a16.47,16.47,0,0,1,4.14-4.89,10,10,0,0,0,0,9.78A16.47,16.47,0,0,1,3.14,16Zm21.58,4.89a10,10,0,0,0,0-9.78A16.47,16.47,0,0,1,28.86,16,16.47,16.47,0,0,1,24.72,20.89Z'/%3E%3Cpath d='M16,20a4,4,0,1,0-4-4A4,4,0,0,0,16,20Zm0-6a2,2,0,1,1-2,2A2,2,0,0,1,16,14Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #left-navigation li[id^=ca-nstab-] { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='12 15 11 15 11 17 12 17 20 17 21 17 21 15 20 15 12 15'/%3E%3Cpolygon points='12 19 11 19 11 21 12 21 15 21 16 21 16 19 15 19 12 19'/%3E%3Cpath d='M20.41,3H5V26a3,3,0,0,0,3,3H24a3,3,0,0,0,3-3V9.59ZM20,5.41,24.59,10H21a1,1,0,0,1-1-1ZM24,27H8a1,1,0,0,1-1-1V5H18V9a3,3,0,0,0,3,3h4V26A1,1,0,0,1,24,27Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-history { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm0,26A12,12,0,1,1,28,16,12,12,0,0,1,16,28Z'/%3E%3Cpath d='M17,7H15v8.52a2,2,0,0,0,.75,1.56l4.63,3.7,1.24-1.56L17,15.52Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-talk { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M26,12H24V6a3,3,0,0,0-3-3H6A3,3,0,0,0,3,6V24.41l5.12-5.12A1.05,1.05,0,0,1,8.83,19H12v3a3,3,0,0,0,3,3h8.17a1.05,1.05,0,0,1,.71.29L29,30.41V15A3,3,0,0,0,26,12ZM12,15v2H8.83a3,3,0,0,0-2.12.88L5,19.59V6A1,1,0,0,1,6,5H21a1,1,0,0,1,1,1v6H15A3,3,0,0,0,12,15ZM27,25.59l-1.71-1.71A3,3,0,0,0,23.17,23H15a1,1,0,0,1-1-1V15a1,1,0,0,1,1-1H26a1,1,0,0,1,1,1Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.svgviewer.dev/s/434200/outlined-paper-doc */ #t-contributions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg enable-background='new 0 0 32 32' id='Stock_cut' version='1.1' viewBox='0 0 32 32' xml:space='preserve' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cdesc/%3E%3Cpath d='M27,12V5h-7v0 c0-2.209-1.791-4-4-4h0c-2.209,0-4,1.791-4,4v0H1v7h0c2.209,0,4,1.791,4,4v0c0,2.209-1.791,4-4,4h0v11h11v0c0-2.209,1.791-4,4-4h0 c2.209,0,4,1.791,4,4v0h7V20h0c2.209,0,4-1.791,4-4v0C31,13.791,29.209,12,27,12L27,12z' fill='none' stroke='%23000000' stroke-linejoin='round' stroke-miterlimit='10' stroke-width='2'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #ca-addsection { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpolygon points='29 15 17 15 17 3 15 3 15 15 3 15 3 17 15 17 15 28 17 28 17 17 29 17 29 15'/%3E%3C/g%3E%3C/svg%3E"); } /* https://github.com/sschoger/heroicons-ui/ */ #ca-viewsource { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath class='heroicon-ui' d='M20.59 12l-3.3-3.3a1 1 0 1 1 1.42-1.4l4 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-1.42-1.4l3.3-3.3zM3.4 12l3.3 3.3a1 1 0 0 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4l4-4a1 1 0 0 1 1.42 1.4L3.4 12zm7.56 8.24a1 1 0 0 1-1.94-.48l4-16a1 1 0 1 1 1.94.48l-4 16z'/%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-variants { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,2A14,14,0,1,0,30,16,14,14,0,0,0,16,2Zm8,13a24.28,24.28,0,0,0-.41-3.62c2.19.91,3.75,2.19,4.25,3.62Zm-2,0H17V10a20.9,20.9,0,0,1,4.34.63A20.26,20.26,0,0,1,22,15ZM17,8V4.19c1.43.5,2.71,2.06,3.62,4.25A24.28,24.28,0,0,0,17,8ZM15,4.19V8a24.28,24.28,0,0,0-3.62.41C12.29,6.25,13.57,4.69,15,4.19ZM15,10v5H10a20.26,20.26,0,0,1,.63-4.34A20.9,20.9,0,0,1,15,10ZM8,15H4.19c.5-1.43,2.06-2.71,4.25-3.62A24.28,24.28,0,0,0,8,15Zm0,2a24.28,24.28,0,0,0,.41,3.62C6.25,19.71,4.69,18.43,4.19,17Zm2,0h5v5a20.9,20.9,0,0,1-4.34-.63A20.26,20.26,0,0,1,10,17Zm5,7v3.84c-1.43-.5-2.71-2.06-3.62-4.25A24.28,24.28,0,0,0,15,24Zm2,3.84V24a24.28,24.28,0,0,0,3.62-.41C19.71,25.75,18.43,27.31,17,27.81ZM17,22V17h5a20.26,20.26,0,0,1-.63,4.34A20.9,20.9,0,0,1,17,22Zm7-5h3.84c-.5,1.43-2.06,2.71-4.25,3.62A24.28,24.28,0,0,0,24,17Zm2.87-6.12A15.11,15.11,0,0,0,23,9a15.11,15.11,0,0,0-1.85-3.87A12.12,12.12,0,0,1,26.84,10.88Zm-16-5.72A15.11,15.11,0,0,0,9,9a15.11,15.11,0,0,0-3.87,1.85A12.12,12.12,0,0,1,10.88,5.16Zm-5.72,16A15.11,15.11,0,0,0,9,23a15.11,15.11,0,0,0,1.85,3.87A12.12,12.12,0,0,1,5.16,21.12Zm16,5.72A15.11,15.11,0,0,0,23,23a15.11,15.11,0,0,0,3.87-1.85A12.12,12.12,0,0,1,21.12,26.84Z'/%3E%3C/g%3E%3C/svg%3E"); } /* https://www.iconfinder.com/iconsets/core-ui-outlined */ #p-cactions { --icon: url("data:image/svg+xml,%3C%3Fxml version='1.0' %3F%3E%3Csvg id='Outlined' viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Ctitle/%3E%3Cg id='Fill'%3E%3Cpath d='M16,13a3,3,0,1,0,3,3A3,3,0,0,0,16,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,16,17Z'/%3E%3Cpath d='M24,13a3,3,0,1,0,3,3A3,3,0,0,0,24,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,24,17Z'/%3E%3Cpath d='M8,13a3,3,0,1,0,3,3A3,3,0,0,0,8,13Zm0,4a1,1,0,1,1,1-1A1,1,0,0,1,8,17Z'/%3E%3C/g%3E%3C/svg%3E"); } } /* screen and (max-width:720px) */ @media screen and (max-width: 600px) { :root { --layout-logo-scale: 0.5; } .vector-search-box-inner { width: 50vw; max-width: 15em; } /* footer */ #footer #footer-icons { float: none; } #footer #footer-info-copyright { grid-column: l/span 2; padding-right: 0; padding-bottom: 40px; } #footer #footer-info-copyright img { right: auto; left: 0; } } /* screen and (max-width:600px) */ @media screen and (max-width: 450px) { } /* screen and (max-width:450px) */ /***** Notification area *****/ .mw-notification-area-overlay { position: fixed; z-index: 9999; } .mw-notification-area { font-size: 14px; line-height: 1.7142857143; } .mw-notification { color: var(--theme-text-color); box-sizing: border-box; border: var(--theme-box-border-width) var(--theme-box-border-style) var(--theme-box-border-color); border-radius: var(--theme-box-border-radius); backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: var(--theme-box-shadow); background: var(--theme-box-background), var(--theme-box-back-background); transform: none; } /* Notification boxes on the right, e.g. after patrolling an edit */ .mw-notification.mw-notification-type-error { color: var(--theme-notice-red-text-color); border-color: var(--theme-notice-red-text-color); } .mw-notification.mw-notification-type-warn { color: var(--theme-notice-orange-text-color); border-color: var(--theme-notice-orange-text-color); } /****** postedit notification ******/ .postedit-container { top: 4em; } .mw-dismissable-notice { position: fixed; left: 2em; right: 2em; bottom: 4em; background: var(--theme-background); max-width: 500px; min-height: 80px; padding: 12px 8px; box-sizing: border-box; text-align: left; border: 1px solid var(--theme-border-color-accent); border-left-width: 8px; backdrop-filter: var(--theme-box-back-backdrop-filter); box-shadow: 0 0 10px rgba(127, 127, 127, 0.3); } .mw-dismissable-notice .mw-dismissable-notice-close { font-size: 11px; } .mw-dismissable-notice .mw-dismissable-notice-body { margin: 0px 40px 0px 24px; font-size: 14px; } .mw-dismissable-notice #localNotice { margin: 0; } /*********************************************************************************************************** * Over-width table floating-scroll ***********************************************************************************************************/ /* css for floating-scroll v3.2.0 https://amphiluke.github.io/floating-scroll/ (c) 2022 Amphiluke */ .fl-scrolls { overflow: auto; position: fixed; } .fl-scrolls div { overflow: hidden; pointer-events: none; } .fl-scrolls div:before { content: " "; } .fl-scrolls, .fl-scrolls div { font-size: 1px; line-height: 0; margin: 0; padding: 0; } .fl-scrolls-hidden div:before { content: "  "; } .fl-scrolls-viewport { position: relative; } .fl-scrolls-body { overflow: auto; } .fl-scrolls-viewport .fl-scrolls { position: absolute; } .fl-scrolls-hoverable .fl-scrolls { opacity: 0; transition: opacity 0.5s 0.3s; } .fl-scrolls-hoverable:hover .fl-scrolls { opacity: 1; } .fl-scrolls:not([data-orientation]), .fl-scrolls[data-orientation=horizontal] { bottom: 0; min-height: 17px; } .fl-scrolls:not([data-orientation]) div, .fl-scrolls[data-orientation=horizontal] div { height: 1px; } .fl-scrolls-hidden.fl-scrolls:not([data-orientation]), .fl-scrolls-hidden.fl-scrolls[data-orientation=horizontal] { bottom: 9999px; } .fl-scrolls-viewport .fl-scrolls:not([data-orientation]), .fl-scrolls-viewport .fl-scrolls[data-orientation=horizontal] { left: 0; } .fl-scrolls[data-orientation=vertical] { right: 0; min-width: 17px; } .fl-scrolls[data-orientation=vertical] div { width: 1px; } .fl-scrolls-hidden.fl-scrolls[data-orientation=vertical] { right: 9999px; } .fl-scrolls-viewport .fl-scrolls[data-orientation=vertical] { top: 0; } /*css for wide table */ .table-wide { clear: both; position: relative; } .mw-parser-output > .table-width { margin-top: 0.5em; margin-bottom: 0.5em; } .table-wide-inner { overflow-x: auto; } .table-wide-inner > table { margin: 0 !important; } .table-wide:before { box-shadow: inset -15px 0 20px -15px var(--theme-wide-table-shadow-color); content: ""; display: block; width: 20px; height: 100%; pointer-events: none; position: absolute; right: 0; } /*********************************************************************************************************** * Styles for "real" wiki page content. (in div.mw-parser-output) ***********************************************************************************************************/ /* external link icon. */ .mw-parser-output a.external, .link-https { padding-right: 0; background: none; } /* custom icon color*/ .mw-parser-output a.external::after { content: ""; display: inline-block; width: 0.875em; height: 0.875em; background-color: currentColor; --mask: url(/skins/Vector/resources/common/images/link-external-small-ltr-progressive.svg); -webkit-mask: var(--mask) no-repeat; mask: var(--mask) no-repeat; -webkit-mask-size: auto 0.875em; mask-size: auto 0.875em; -webkit-mask-position: right center; mask-position: right center; margin-left: 2px; } .mw-parser-output > :first-child { margin-top: 0; } /** headings **/ .mw-body h1, .mw-body-content h1, .mw-body-content h2, .vector-body h3, .vector-body h4, .vector-body h5, .vector-body h6 { margin: 0; color: var(--theme-heading-color); font-family: var(--theme-heading-font-face, inherit); line-height: var(--theme-heading-line-height, 1.25); font-weight: var(--theme-heading-font-weight, normal); } .mw-body h1, .mw-body-content h1 { font-size: var(--theme-heading-font-size-h1, 32px); line-height: var(--theme-heading-line-height-h1, 40px); font-weight: var(--theme-heading-font-weight-h1, var(--theme-heading-font-weight, normal)); display: flex; align-items: center; gap: 0.25em; } .mw-body h1::after, .mw-body-content h1::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .mw-body-content h2 { font-size: var(--theme-heading-font-size-h2, 24px); line-height: var(--theme-heading-line-height-h2, 30px); font-weight: var(--theme-heading-font-weight-h2, var(--theme-heading-font-weight, normal)); margin-top: 18px; margin-bottom: 9px; padding-bottom: 3px; display: flex; align-items: center; gap: 0.25em; } .mw-body-content h2::after { content: ""; display: block; height: 2px; background: rgba(255, 255, 255, 0.25); flex: 1 1 auto; } .vector-body h3 { font-size: var(--theme-heading-font-size-h3, 20px); line-height: var(--theme-heading-line-height-h3, 26px); font-weight: var(--theme-heading-font-weight-h3, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h4 { font-size: var(--theme-heading-font-size-h4, 16px); line-height: var(--theme-heading-line-height-h4, 22px); font-weight: var(--theme-heading-font-weight-h4, var(--theme-heading-font-weight, normal)); margin-top: 14px; margin-bottom: 7px; } .vector-body h5 { font-size: var(--theme-heading-font-size-h5, 14px); line-height: var(--theme-heading-line-height-h5, 22px); font-weight: var(--theme-heading-font-weight-h5, bold); margin-top: 10px; margin-bottom: 7px; } .vector-body h6 { font-size: var(--theme-heading-font-size-h6, 12px); line-height: var(--theme-heading-line-height-h6, 20px); font-weight: var(--theme-heading-font-weight-h1, bold); margin-top: 7px; margin-bottom: 7px; } /* reduce heading font size: */ @media (max-width: 900px) { .mw-body h1, .mw-body-content h1 { font-size: 24px; line-height: 32px; } .mw-body-content h2 { font-size: 20px; line-height: 28px; } .vector-body h3 { font-size: 18px; line-height: 24px; } } /* section edit link */ .mw-editsection { white-space: nowrap; color: var(--theme-text-color-note); } /** ToC **/ /* base common style */ .toc { background: rgba(0, 0, 0, 0.3); border-radius: var(--theme-box-border-radius); border: 0; margin-top: 18px; margin-bottom: 18px; padding: 0 0 0 4px; font-size: 1em; min-width: 12em; position: relative; } .toc::before { content: ""; display: block; position: absolute; width: 4px; height: 100%; left: 0; top: 0; border-image-source: url(/images/b/bc/Shape-r.png); border-image-slice: 10 4 50 4 fill; border-image-width: 5px 2px 25px 2px; border-image-repeat: repeat; } .toc a { color: var(--theme-text-color); } .toc .tocnumber { color: var(--theme-text-color-note); } .toc .tocnumber:after { content: "."; } /* header */ .toc { /* arrow */ /* do not change ToC box width when toggle show/hide. */ } .toc .toctitle { position: relative; overflow: hidden; text-align: left; padding: 8px 16px 0; } .toc .toctitle h2 { line-height: 20px; font-weight: normal; margin: 0; border: 0; display: flex; align-items: center; padding: 0 0 8px; border-bottom: 2px solid rgba(255, 255, 255, 0.25); } .toc .toctitle h2::after { display: none; } .toc .toctitle h2::before { content: ""; display: block; width: 12px; height: 12px; --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewbox='0 0 12 12'%3E%3Cpath id='bulleted-list-tiny' d='M1.29 9.277c-.181.19-.29.45-.29.71 0 .26.109.52.29.71.189.18.45.29.71.29.26 0 .519-.11.71-.29.18-.19.29-.45.29-.71 0-.26-.11-.52-.29-.71-.38-.37-1.05-.37-1.42 0M10 9H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M6 3h4a1 1 0 1 0 0-2H6a1 1 0 1 0 0 2m4 2H6a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2M1.29 1.277c.37-.37 1.04-.37 1.42 0 .18.19.29.45.29.71 0 .26-.11.52-.29.71-.191.18-.45.29-.71.29-.26 0-.521-.11-.71-.29-.181-.19-.29-.45-.29-.71 0-.26.109-.52.29-.71zM2.55 5.17c.06.03.11.08.16.12.18.19.29.45.29.71 0 .26-.11.521-.29.71-.05.04-.1.09-.16.12a.559.559 0 0 1-.17.09c-.06.03-.12.05-.19.06-.06.01-.13.02-.19.02-.26 0-.52-.11-.71-.29A1.05 1.05 0 0 1 1 6c0-.26.11-.52.29-.71.24-.23.58-.34.9-.269a.6.6 0 0 1 .19.058c.06.021.12.051.17.091z'%3E%3C/path%3E%3C/svg%3E") no-repeat; -webkit-mask: var(--mask); mask: var(--mask); -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-position: center center; mask-position: center center; background-color: var(--theme-text-color); margin: 0 6px 0 0; } .toc .toctogglelabel { position: absolute; width: 100%; height: 100%; left: 0; top: 0; box-sizing: border-box; padding-right: 16px; display: flex; align-items: center; justify-content: flex-end; } .toc .toctogglespan::before, .toc .toctogglespan::after, .toc .toctogglelabel::after { display: none; } .toc .toctogglelabel::before { content: ""; display: inline-block; background: none; position: relative; width: 0; height: 0; border-style: solid; border-color: var(--theme-icon-color) transparent; border-width: 0 5px 6px 5px; vertical-align: middle; flex: 0 0 auto; } .toc .toctogglelabel:hover::before { border-color: var(--theme-icon-color-hover) transparent; } .toc .toctogglecheckbox:checked + .toctitle .toctogglelabel::before { border-width: 6px 5px 0 5px; } .toc .toctogglecheckbox:checked ~ ul { overflow: hidden; display: block; height: 0; border: 0; padding-top: 0; padding-bottom: 0; } /* content list */ .mw-content-ltr .toc ul ul, .mw-content-rtl .toc ul ul { margin: 0 0 0 1em; } .toc > ul { padding: 8px; margin: 0; } .toc > ul a { display: block; padding: 2px 8px; border-radius: 4px; transition: background 0.1s; } .toc > ul a:hover { text-decoration: none; background: var(--theme-highlight-background); } .toc > ul li { margin: 0; } /********* Tables *********/ table { /* fix 100% width table with border */ box-sizing: border-box; } table.lined, table.bordered, table.cellborder { border-collapse: collapse; border-style: solid; border-color: var(--theme-border-color); } table.lined th, table.lined td { border-width: 0 0 1px 0; } table tfoot:empty, table thead:empty { display: none; } table.lined td.noline, table.lined tr.noline td { border-bottom-width: 0; } table tr.bottomline td { border-bottom-width: 1px; } table tr.topline td { border-top-width: 1px; } table td.bottomline, table.lined tr.noline td.bottomline { border-bottom-width: 1px; } table td.topline { border-top-width: 1px; } /* Hack for using "border-collapse" and "border-radius" in the same table display by using one table nested within another */ table.outer { white-space: nowrap; } table.inner { border-collapse: collapse; background: inherit; width: 100%; } table.inner th { border: 2px solid var(--theme-border-color); } .wikitable, .wikitable > tr > th, .wikitable > * > tr > th { color: inherit; background: none; } .wikitable { border-color: var(--theme-border-color); } table.cargoTable.noMerge tr:nth-child(2n) { background: rgba(127, 127, 127, 0.25); } table.cargoTable.noMerge tr:nth-child(2n+1) { background: none; } .gallery.mw-gallery-traditional { display: flex; gap: var(--theme-gap-y, 0) var(--theme-gap-x, 0); flex-wrap: wrap; margin: auto; } .gallery.mw-gallery-traditional.center { justify-content: center; } .gallery.mw-gallery-traditional .gallerybox { width: min-content !important; margin: 0; } .gallery.mw-gallery-traditional .gallerybox > div { width: unset !important; } .gallery.mw-gallery-traditional .gallerybox .thumb { background: none; border: 0; margin: 0; } .gallery.mw-gallery-traditional .gallerybox .thumb > div { border: 1px solid var(--theme-border-color); } .gallery.mw-gallery-traditional .gallerytext { font-size: 12px; display: flex; justify-content: center; } .gallery.mw-gallery-traditional .gallerytext p { width: auto; flex: 0 1 auto; } html .thumbimage { background-color: transparent; border: 0; } /** gallery **/ div.thumbinner { border: 1px solid var(--theme-border-color); border-radius: var(--theme-box-border-radius); } li.gallerybox div.thumb { border-radius: var(--theme-box-border-radius); } .gallery * { box-sizing: initial; } .mw-gallery-traditional .thumb { display: flex; } .mw-gallery-traditional .thumb a { display: block; } /*********************************************************************************************************** * common style for content box ***********************************************************************************************************/ .fullwidth, .full-width { width: 100%; } .nowrap { white-space: nowrap; } /* ".center" has width=100% rule, we don't want it, so use a different class name. */ .aligncenter, .align-center { text-align: center; } .alignleft, .align-left { text-align: left; } .alignright, .align-right { text-align: right; } /* clear fix for float block */ .clearfix { *zoom: 1; } .clearfix::before, .clearfix::after { content: " "; display: table; } .clearfix::after { clear: both; } /*********************************************************************************************************** * css for specific content pages ***********************************************************************************************************/ /*********** Main page START ****************/ .rootpage-Railgrade_Wiki #firstHeading { display: none; } #mainpage-wrap .footer { text-align: right; font-size: 12px; line-height: 22px; } #mainpage-wrap .box { border-radius: var(--theme-box-border-radius); padding: 1.5em; background: rgba(0, 0, 0, 0.3); } #mainpage-wrap h2 { margin-top: 0; border-bottom: 0; } #mainpage-wrap h2::after { display: none; } #mainpage-wrap .content-wrap { display: flex; gap: 1em; align-items: stretch; margin-bottom: 1em; } @media (max-width: 1200px) { #mainpage-wrap .content-wrap { flex-direction: column; } } #mainpage-wrap .content-wrap .l { flex: 3 3 600px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .content-wrap .r { flex: 1 1 300px; display: flex; flex-direction: column; gap: 1em; } #mainpage-wrap .box.header { text-align: center; } #mainpage-wrap .box.header .welcome h2 { font-size: 2em; justify-content: center; } #mainpage-wrap .box.header .welcome h2 em { font-style: normal; } #mainpage-wrap .box.header ul { display: inline-flex; align-items: center; margin: 1.5em auto 0.5em; gap: 1em; } #mainpage-wrap .box.header ul li { list-style: none; } @media (max-width: 600px) { #mainpage-wrap .box.header img { width: 32px; height: auto; } } #mainpage-wrap .box.game > div { display: flex; gap: 1em; align-items: center; } @media (max-width: 640px) { #mainpage-wrap .box.game > div { flex-direction: column; } } #mainpage-wrap .box.game img { width: 100%; height: auto; max-width: 180px; box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } #mainpage-wrap .box.game p { font-size: 16px; line-height: 28px; } #mainpage-wrap .box.gallery ul { display: flex; flex-wrap: wrap; gap: 0.5em; margin: 0; } #mainpage-wrap .box.gallery ul li { flex: 1 1 40%; list-style: none; } @media (max-width: 1200px) and (min-width: 720px) { #mainpage-wrap .box.gallery ul li { flex: 1 1 22%; } } #mainpage-wrap .box.gallery ul li img { width: 100%; height: auto; } #mainpage-wrap .box.gallery img { box-shadow: 0 0 3px rgba(255, 255, 255, 0.25); } /*********** Main page END ****************/ /*********************************************************************************************************** * css for pages under MediaWiki or Special NS, or system widgets on template/module pages and so on ***********************************************************************************************************/ /********* ooui *********/ .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle { background: none; } .oo-ui-textInputWidget .oo-ui-inputWidget-input { color: var(--theme-text-color); } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed { background: none; } /********* for File: NS pages *********/ #filetoc { background: none; } /******* Search result page. (Special:Search) ******/ .mw-search-form-wrapper { font-size: 1em; } .mw-search-form-wrapper #mw-search-top-table { display: flex; align-items: center; } .mw-search-form-wrapper #mw-search-top-table > div { float: none; } .mw-search-form-wrapper .results-info { color: var(--theme-text-color-note); font-size: 1em; padding: 0 0 0 3em; white-space: nowrap; text-align: right; flex: 1 1 auto; } .mw-search-form-wrapper .mw-search-visualclear { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs { border: 0; margin: 1em 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types + div { display: none; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types { width: 100%; float: none; padding: 0; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { float: none; display: inline-block; vertical-align: middle; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li.current { background: var(--theme-highlight-background); border-radius: 4px; overflow: hidden; } .mw-search-form-wrapper #mw-searchoptions { padding: 1em; background: var(--theme-box-background); border: 1px solid var(--theme-border-color-accent); border-radius: 4px; } /* responsive tweak */ @media screen and (max-width: 600px) { .mw-search-form-wrapper #mw-search-top-table { display: block; } .mw-search-form-wrapper .results-info { margin-top: 1em; } .mw-search-form-wrapper .mw-search-profile-tabs .search-types ul li { font-size: 12px; } } /*********************************************************************************************************** * dark theme tweak ***********************************************************************************************************/ #filetoc, code, .mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend, .oo-ui-tagMultiselectWidget.oo-ui-widget-enabled.oo-ui-tagMultiselectWidget-outlined, .mw-rcfilters-ui-filterTagMultiselectWidget.oo-ui-widget-enabled .oo-ui-tagMultiselectWidget-handle, .mw-search-profile-tabs, #mw-searchoptions, .mw-datatable td { background: none; } /* ref */ ol.references li:target, sup.reference:target { background-color: rgba(255, 255, 255, 0.15); } .oo-ui-textInputWidget .oo-ui-inputWidget-input { background: #1f3030; color: var(--theme-text-color); } #mw-allmessagestable tbody:hover td { background: var(--theme-highlight-background); } li.gallerybox div.thumb { background: var(--theme-box-background); } ul { list-style-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="5" height="13"><circle cx="2.5" cy="9" r="2.5" fill="#fff"/></svg>'); } .oo-ui-buttonElement-frameless.oo-ui-widget-enabled > .oo-ui-buttonElement-button { color: var(--theme-text-color-note); } .oo-ui-tabSelectWidget-framed, .mw-prefs-buttons { background: none; } .oo-ui-tabOptionWidget { color: var(--theme-text-color); } .oo-ui-tabSelectWidget-framed .oo-ui-tabOptionWidget.oo-ui-optionWidget-selected { color: var(--theme-text-color); background: none; } table.diff .diff-context { background: rgba(248, 249, 250, 0.15); color: var(--theme-text-color); } table.diff .diff-addedline .diffchange { background: rgba(74, 166, 255, 0.6); } table.diff .diff-deletedline .diffchange { background: rgba(255, 198, 63, 0.6); } :root { --pi-background: rgba(255,255,255, 0.1); } div.mw-rcfilters-ui-changesListWrapperWidget .mw-changeslist-legend { background: #231c3b; } .mw-rcfilters-ui-filterTagMultiselectWidget .oo-ui-iconElement-icon { filter: invert(1); } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagItemWidget .oo-ui-iconElement-icon { filter: none; } .mw-rcfilters-ui-filterTagMultiselectWidget .mw-rcfilters-ui-filterTagMultiselectWidget-wrapper-content-title { color: #ddd; } div.thumbinner { background: none; } #pagehistory li.selected { background: rgba(40, 40, 40, 0.6); color: var(--theme-text-color); } #mw-indicator-mw-helplink a { background: none; position: relative; } #mw-indicator-mw-helplink a:before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 20px; height: 20px; background-image: url(/resources/src/mediawiki.helplink/images/helpNotice.svg?46d34); filter: invert(1); } .mw-plusminus-pos { color: #7cf56e; } .mw-plusminus-neg { color: #ff9a9b; } .autocomment, .autocomment a, .autocomment a:visited { color: var(--theme-text-color-note); } .mw-message-box-warning { background-color: rgba(54, 44, 10, 0.5); border-color: #fc3; color: #fff; } fieldset { border-color: #ccc; } .mw-highlight pre, .mw-highlight code, .mw-highlight .mw-code { color: #ccc; } .mw-highlight .nv { color: #01C2EC; } .horse-userprofile { background-color: transparent; } .tabber__header--prev-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%); mask-image: linear-gradient(90deg, transparent, #fff 20%); } .tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, #fff 80%, transparent); mask-image: linear-gradient(90deg, #fff 80%, transparent); } .tabber__header--prev-visible.tabber__header--next-visible .tabber__tabs { -webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent); } .tabber__indicator { background: #01c2ec; } .tabber__tab { color: #ccc; } .tabber__tab:visited { color: #ccc; } .tabber__tab[aria-selected=true], .tabber__tab[aria-selected=true]:visited { color: #01c2ec; } .tabber__transclusion--loading .tabber__loading-indicator, .tabber__transclusion--loading:before, .tabber__transclusion--loading:after { background-color: #01c2ec; } @media (hover: hover) { .tabber__tab:hover { color: #32d8ff; } .tabber__tab:active { color: #05b8e0; } .tabber__header__prev:hover, .tabber__header__next:hover { background-color: rgba(0, 24, 73, 0.03); } .tabber__header__prev:active, .tabber__header__next:active { background-color: rgba(0, 24, 73, 0.05); } } .portable-infobox { border: 1px solid var(--pi-border-color); } .wikiEditor-ui-toolbar { color: #000; } .toccolours { background-color: unset; border: unset; font-size: unset; padding: unset; } /*********************************************************************************************************** * soloeditor classes testing ***********************************************************************************************************/ table.customTable th.customTableHeader { color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.9; } table.customTable .customTableData { text-align: right; font-weight: bold; color: var(--theme-control-text-color); background-color: var(--theme-link-color); opacity: 0.5; } 98d39bd7d529a1905b283edae18fdd761fee2fde Template:IndustryDataParser 10 305 1061 1046 2024-02-02T16:19:50Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{{#invoke:industryParse|industryTableRow|{{{1}}}}}</includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|Water Pump}} }} <pre>{{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|Water Pump}} }} </pre> Raw data can be found at [[module:Industry/Data]] </noinclude> cbb2fc0e491872f23f1b6b9458bb983f64ffc8e9 Template:MissionInfoBox 10 177 1063 999 2024-02-02T16:25:34Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable customTable" |- ! colspan="2" class="customTableHeader"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | class="customTableData"|Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" class="customTableHeader"| Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} class="customTableData"{{!}}Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" class="customTableHeader"| Mission Details |- | Biome || {{{biome|null biome param}}} |- | Starting Money (¥) || {{{money|0}}} |- ! colspan="2" class="customTableHeader"| Region Objectives |- {{{objectives|none}}} |- ! colspan="2" class="customTableHeader"| Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Track]] |nextMissions = * [[Train & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> c17b1983bf619c034488861266a41b4dc1af83de 1065 1063 2024-02-02T16:27:31Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable customTable" |- ! colspan="2" class="customTableHeader"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | class="customTableData"|Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" class="customTableHeader"| Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} class="customTableData"{{!}}Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} class="customTableData"{{!}}Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" class="customTableHeader"| Mission Details |- | class="customTableData"|Biome || {{{biome|null biome param}}} |- | class="customTableData"|Starting Money (¥) || {{{money|0}}} |- ! colspan="2" class="customTableHeader"| Region Objectives |- {{{objectives|none}}} |- ! colspan="2" class="customTableHeader"| Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Track]] |nextMissions = * [[Train & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> ecd23ee7c858ff491898f14c951da91d6bf9d1ba 1066 1065 2024-02-02T16:29:06Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable customTable" |- ! colspan="2" class="customTableHeader"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | class="customTableData"|Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" class="customTableHeader"| Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} class="customTableData"{{!}}Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} class="customTableData"{{!}}Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" class="customTableHeader"| Mission Details |- | class="customTableData"|Biome || {{{biome|null biome param}}} |- | class="customTableData"|Starting Money (¥) || {{{money|0}}} JPY |- ! colspan="2" class="customTableHeader"| Region Objectives |- {{{objectives|none}}} |- ! colspan="2" class="customTableHeader"| Par Times |- | S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Track]] |nextMissions = * [[Train & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> 9854a844afda57b2072cae2aa71f05f457997994 1070 1066 2024-02-02T16:46:08Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable customTable" |- ! colspan="2" class="customTableHeader"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | class="customTableData"|Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" class="customTableHeader"| Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} class="customTableData"{{!}}Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} class="customTableData"{{!}}Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" class="customTableHeader"| Mission Details |- | class="customTableData"|Biome || {{{biome|null biome param}}} |- | class="customTableData"|Starting Money (¥) || {{{money|0}}} JPY |- ! colspan="2" class="customTableHeader"| Par Times |- | <div class="customTableData">S Rank</div> || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | <div class="customTableData">A Rank</div> || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | <div class="customTableData">B Rank</div> || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | <div class="customTableData">C Rank</div> || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |- ! colspan="2" class="customTableHeader"| Region Objectives |- {{{objectives|none}}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Track]] |nextMissions = * [[Train & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> 7fe788e5ffa8b6d19c03104aa09a1d5e95ef14e6 1071 1070 2024-02-02T16:47:15Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable customTable" |- ! colspan="2" class="customTableHeader"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | class="customTableData"|Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:{{{name}}}_map.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" class="customTableHeader"| Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} class="customTableData"{{!}}Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} class="customTableData"{{!}}Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" class="customTableHeader"| Mission Details |- | class="customTableData"|Biome || {{{biome|null biome param}}} |- | class="customTableData"|Starting Money (¥) || {{{money|0}}} JPY |- ! colspan="2" class="customTableHeader"| Par Times |- | class="customTableData|S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | class="customTableData|A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | class="customTableData|B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | class="customTableData|C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |- ! colspan="2" class="customTableHeader"| Region Objectives |- {{{objectives|none}}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Track]] |nextMissions = * [[Train & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> d2dc88d1ec57084567485219deb90adf6af3bed0 1072 1071 2024-02-02T16:47:58Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable customTable" |- ! colspan="2" class="customTableHeader"| {{{name|null name param}}} {{#if: {{{subtitle|}}}|[{{{subtitle}}}]}} |- | class="customTableData"|Region Number || {{{number|null number param}}} |- | colspan="2"| [[File:map_{{{name}}}.png|thumb|center|alt=Overhead Image of Region {{{number}}}:{{{name}}}.]] |- ! colspan="2" class="customTableHeader"| Mission Order |- {{#if: {{{prevMissions|}}} | {{!}} class="customTableData"{{!}}Previous {{!}}{{!}} {{{prevMissions}}} {{!}}- }} {{#if: {{{nextMissions|}}} | {{!}} class="customTableData"{{!}}Next {{!}}{{!}} {{{nextMissions}}} {{!}}- }} ! colspan="2" class="customTableHeader"| Mission Details |- | class="customTableData"|Biome || {{{biome|null biome param}}} |- | class="customTableData"|Starting Money (¥) || {{{money|0}}} JPY |- ! colspan="2" class="customTableHeader"| Par Times |- | class="customTableData|S Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} }} |- | class="customTableData|A Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.25}} |- | class="customTableData|B Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 1.50}} |- | class="customTableData|C Rank || {{#invoke:PartimeParse|partimePrint| {{{partimeH}}} | {{{partimeM}}} | {{{partimeS}}} | 3}} |- ! colspan="2" class="customTableHeader"| Region Objectives |- {{{objectives|none}}} |}</includeonly><noinclude> [[Category:Templates]] {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Track]] |nextMissions = * [[Train & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} <pre> {{missionInfoBox |name = Mission Name |subtitle = label |number = 15 |prevMissions = * [[Track & Train]] * [[Track & Train]] |nextMissions = * [[Track & Train]] |biome = mapDev |money = 1 |objectives = {{!}}Profit First {{!}}{{!}} Average profit of 3500¥ per minute {{!}}- {{!}}Profit Second{{!}}{{!}} Average profit of 7000¥ per minute |partimeH = 3 |partimeM = 4 |partimeS = 3 }} </pre> </noinclude> aa7e8c1dffd0b550dc866dca04a6bc27421c92a4 File:Map Track & Train.png 6 306 1067 2024-02-02T16:36:30Z Hiroteashi 379511 Track and Train in-game screenshot wikitext text/x-wiki == Summary == Track and Train in-game screenshot 1ec039cc6134e29e2767970f34a53402837c0652 1073 1067 2024-02-02T16:48:34Z Hiroteashi 379511 Hiroteashi moved page [[File:Track & Train map.png]] to [[File:Map Track & Train .png]] without leaving a redirect wikitext text/x-wiki == Summary == Track and Train in-game screenshot 1ec039cc6134e29e2767970f34a53402837c0652 1074 1073 2024-02-02T16:48:53Z Hiroteashi 379511 Hiroteashi moved page [[File:Map Track & Train .png]] to [[File:Map Track & Train.png]] without leaving a redirect wikitext text/x-wiki == Summary == Track and Train in-game screenshot 1ec039cc6134e29e2767970f34a53402837c0652 1090 1074 2024-02-03T04:43:34Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Map Images]] == Summary == Track and Train in-game screenshot 69f0060d8f6baf5713c8a44c1035b49f8859993b Oil Overflow 0 176 1075 533 2024-02-02T16:50:13Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] ==Info== {{missionInfoBox |name = Oil Overflow |number = 2 |prevMissions= * [[First Job]] * [[Validation Skip]] |nextMissions = * [[Mix Oil and Water]] * [[Oil Overflow Omega]] |biome = Savannah |money = 17000 |objectives = {{!}}Oil to Energy. Pronto!{{!}}{{!}} Produce 64 Energy at quest Oil Powerplant |partimeM = 15 }} ==Notable Region Features== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] (Quest Structure) * 6x [[Oil Well]] * 1x Worker Housing * Bank * Voucher Exchange * Accountancy Resources Nodes Present: * Water Springs * Oil Patches ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Purchasable in the Voucher Shop * C.U.S.T.O.M Engine * Geothermal Industry * Oil Powerplant++ Upgrade Upon Mission Completion * Workhorse Engine ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} 7cd403cd72b597afde875516ec55dbc78545e659 File:Map Oil Overflow.png 6 307 1076 2024-02-02T16:57:51Z Hiroteashi 379511 Oil Overflow in-game screenshot wikitext text/x-wiki == Summary == Oil Overflow in-game screenshot 8f7f6b491d3de9f43fcc8521e11620bb23048b19 1089 1076 2024-02-03T04:42:58Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Map Images]] == Summary == Oil Overflow in-game screenshot ee33780c25e042e4ff7354383d177828544872c9 Category:Structures 14 9 1077 1010 2024-02-02T17:16:18Z Hiroteashi 379511 /* Overview */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional Headquarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|Atmospheric Seeder and Steam Boiler]] 1348b353e63bfdd12f7f0b6917646bc8ba157000 1078 1077 2024-02-02T17:31:06Z Hiroteashi 379511 /* Megaprojects */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Terraformer|Reclamation Engine]] * [[Cloudseeder|The Experimental Atmospheric Seeder and Steam Boilers]] 1c735e63f011530f3b8372eefd803bdaf0a780cc 1079 1078 2024-02-02T17:31:36Z Hiroteashi 379511 /* Megaprojects */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Terraformer|Reclamation Engine (Destroyed and Reconstructed Variants]] * [[Cloudseeder|The Experimental Atmospheric Seeder and Steam Boilers]] dacd2cdc6c49d7b2b63a5a535fa048a6fdf55da0 1080 1079 2024-02-02T17:31:48Z Hiroteashi 379511 /* Megaprojects */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Terraformer|Reclamation Engine (Destroyed and Reconstructed Variants)]] * [[Cloudseeder|The Experimental Atmospheric Seeder and Steam Boilers]] 42c7bba9c2a96b70867871086488b425e5d13296 Solvent 0 12 1081 180 2024-02-03T04:23:59Z Hiroteashi 379511 /* Production Recipes */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Solva}}}} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8x {{Item|Solvent}}<br>4x {{item|Reactives}}<br>2x {{item|CPU}} || 2x {{item|Assembra}}<br>4x {{item|Waste}} || 64 |- | [[terraformer|Reclaimation Engine]] || 6x {{Item|Solvent}}<br>2x {{item|Energy}} || 8x {{item|Coal}}<br>4x {{item|Iron}}<br>2x {{item|Copper}} || 32 |- |} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] ed1006dfc198e25c72ff9faf9cf519a57b191907 1083 1081 2024-02-03T04:34:12Z Hiroteashi 379511 /* Direct Consumers */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Solva}}}} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8x {{Item|Solvent}}<br>4x {{item|Reactives}}<br>2x {{item|CPU}} || 2x {{item|Assembra}}<br>4x {{item|Waste}} || 64 |- | [[terraformer|Reclaimation Engine]] || 6x {{Item|Solvent}}<br>2x {{item|Energy}} || 8x {{item|Coal}}<br>4x {{item|Iron}}<br>2x {{item|Copper}} || 32 |- |} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Reclaimation Engine}}}} === Catalysted Industries === {{IndustryTableHeader|Catalyst for:| {{IndustryDataParser|Incinerator}}}} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] a91108595225b8b86ff4b28db3d145b7b7733f9c 1084 1083 2024-02-03T04:34:37Z Hiroteashi 379511 /* Catalysted Industries */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Solva}}}} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8x {{Item|Solvent}}<br>4x {{item|Reactives}}<br>2x {{item|CPU}} || 2x {{item|Assembra}}<br>4x {{item|Waste}} || 64 |- | [[terraformer|Reclaimation Engine]] || 6x {{Item|Solvent}}<br>2x {{item|Energy}} || 8x {{item|Coal}}<br>4x {{item|Iron}}<br>2x {{item|Copper}} || 32 |- |} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Reclaimation Engine}}}} === Catalysted Industries === {{IndustryTableHeader|Catalyst for:| {{IndustryDataParser|Incinerator}} {{IndustryDataParser|TEAS}}}} === Catalyst === Solvent catalyzes the following industries: * [[incinerator|The Incinerator]] * [[cloudseeder|The Experimental Atmospheric Seeder]] e2c3dcce1cd06bf1119829ddb4ccbeb065b6e875 1086 1084 2024-02-03T04:38:36Z Hiroteashi 379511 /* Catalyst */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Solva}}}} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8x {{Item|Solvent}}<br>4x {{item|Reactives}}<br>2x {{item|CPU}} || 2x {{item|Assembra}}<br>4x {{item|Waste}} || 64 |- | [[terraformer|Reclaimation Engine]] || 6x {{Item|Solvent}}<br>2x {{item|Energy}} || 8x {{item|Coal}}<br>4x {{item|Iron}}<br>2x {{item|Copper}} || 32 |- |} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Reclaimation Engine}}}} === Catalysted Industries === {{IndustryTableHeader|Catalyst for:| {{IndustryDataParser|Incinerator}} {{IndustryDataParser|TEAS}}}} d052c8febbc4f900d7079bdea58d0542ac0df6ae 1087 1086 2024-02-03T04:38:50Z Hiroteashi 379511 /* Catalysted Industries */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Solva}}}} === Direct Consumers === {| class="wikitable" |+ Consumption |- ! Industry !! Inputs !! Outputs !! Recipe Time (s) |- | [[greyassembly|Gray Assembly]] || 8x {{Item|Solvent}}<br>4x {{item|Reactives}}<br>2x {{item|CPU}} || 2x {{item|Assembra}}<br>4x {{item|Waste}} || 64 |- | [[terraformer|Reclaimation Engine]] || 6x {{Item|Solvent}}<br>2x {{item|Energy}} || 8x {{item|Coal}}<br>4x {{item|Iron}}<br>2x {{item|Copper}} || 32 |- |} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Reclaimation Engine}}}} === Catalysted Industries === {{IndustryTableHeader|Catalyst for:| {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Atmospheric Seeder}}}} 3e7294673b494d4bb12c95854c0f60cfa3fce638 Module:Industry/Data 828 303 1082 1005 2024-02-03T04:32:03Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclaimation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } p.industry = industry return p f111a6e62db688fb4060a009ead77fbd339611bf 1085 1082 2024-02-03T04:38:21Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclaimation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 8, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {}, outputCounts = {} } p.industry = industry return p 13d127bcb25aba7af984a85c97a5bdae1c629206 1088 1085 2024-02-03T04:40:13Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclaimation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 8, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {"Cloud"}, outputCounts = {1} } p.industry = industry return p ace3aaadbec0bd4646eadfe502869b9561327699 File:WorkRocket Platform.png 6 126 1091 984 2024-02-03T04:44:15Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Worker Rocket Platform Icon 6d7c1a4177bb4ede2b8daabc293f2c85150569a8 File:Water Pump.png 6 125 1092 306 2024-02-03T04:44:30Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Water Pump Industry 7ee71a94d6ee0c3131f6a4939d66316bf4c3a362 File:Tube Plant.png 6 124 1093 303 2024-02-03T04:44:43Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Tube Plant Industry 01af92e0505b400fb487aed6c5e77554a895ab14 File:Steel Mill.png 6 122 1094 299 2024-02-03T04:44:56Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Steel Mill Industry c78123f8c23b0eff5a1a593fe06bfdbe48f5725f File:Atmospheric Seeder.png 6 121 1095 298 2024-02-03T04:45:25Z Hiroteashi 379511 Hiroteashi moved page [[File:TEAS project.png]] to [[File:Atmospheric Seeder.png]] without leaving a redirect wikitext text/x-wiki == Summary == The Experimental Atmospheric Seeder Megaproject ee109c404e3659da02047ebbb928c271a9d3ea49 1096 1095 2024-02-03T04:45:35Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == The Experimental Atmospheric Seeder Megaproject 7d6cdc8f0c7ffeb1d0ddecbf798b508269a2949d File:Steam Boiler.png 6 120 1097 297 2024-02-03T04:46:00Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Steam Boiler Megaproject Module 3c396e644a4830a3edff60dba20565b517255f56 File:SpaceLiner Platform.png 6 118 1098 983 2024-02-03T04:46:12Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Spaceliner Platform Industry 5a5aeda12b4fb0044a63ef51913951ce403822c7 File:Solva.png 6 117 1099 294 2024-02-03T04:46:33Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Solva Industry 4c5d89e06402f8ae4fd16758f9134c9a4984fa77 File:Signworks.png 6 116 1100 293 2024-02-03T04:46:47Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Signworks Industry 4013fdc4fee3b8427de82607acc3f584eed45643 File:Salt Refinery.png 6 115 1101 310 2024-02-03T04:47:09Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Salt Refinery Industry f51643c76873a717d7224867dbb42b21c934e531 File:Rocket Factory.png 6 114 1102 291 2024-02-03T04:47:23Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Rocket Factory Industry cff99735462c83b687354a4884643dece668efd8 File:Rollercoaster.png 6 113 1103 290 2024-02-03T04:47:42Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Rollercoaster Megaproject 0c158a9f3e45d32fc8b42b8d54dcff8f8a57c0e9 File:Plasticizer.png 6 112 1104 289 2024-02-03T04:48:07Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Plasticizer Industry 1968d45194c49ed3a676d6dc112477321058faaa File:Paperclip Stamper.png 6 111 1105 288 2024-02-03T04:48:28Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Paperclip Stamper Industry 2400e5ab6087a2390b21866d8cb5c0a860bc5086 File:Coal Gassifier.png 6 110 1106 313 2024-02-03T04:48:38Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Coal Gassifier Industry e3dca44597c6266eb4cb42877a5602f32c2c7a36 File:Oil Well.png 6 109 1107 286 2024-02-03T04:48:52Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Oil Well Industry 0f3296b6af45a4e00462711893f861d7ca0e899d File:Oil Refinery.png 6 108 1108 285 2024-02-03T04:49:04Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Oil Refinery Industry 07c4bd20386ed0b9322ac11ee0a4c2d169dac789 File:Oil Powerplant.png 6 107 1109 284 2024-02-03T04:49:39Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Oil Powerplant Industry a4483704f967bfae0c053145a3538977bb006028 File:Neon Refinery.png 6 106 1110 283 2024-02-03T04:49:52Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Neon Refinery Industry d7e6b9f5f93683c5390f484e5bae2ae01a7368ff File:Motor Assembly.png 6 105 1111 282 2024-02-03T04:50:03Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Motor Assembly Industry adf5dbdef46c767e27901237a2ef35c3e8e47b76 File:Silica Quarry.png 6 104 1112 281 2024-02-03T04:50:15Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Silica Quarry Industry ecdaf7b4125974b1a3297eba451655d10a7fc450 File:Iron Mine.png 6 103 1113 280 2024-02-03T04:50:26Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Iron Mine Industry 230c26ee19e8de47cc6dbb5925b7699afa4dd988 File:Copper Mine.png 6 102 1114 279 2024-02-03T04:50:37Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Copper Mine Industry 6b191c1d39c3f400c7d95c1d8eed52982f2ad1d5 File:The Mechanist.png 6 101 1115 278 2024-02-03T04:50:48Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == The Mechanist Industry ebc978493e8c3c55f133162e2394c9ca67d091c9 File:Luxury Assembler.png 6 100 1116 277 2024-02-03T04:51:05Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Luxury Assembler Industry c9eacf80818574cd2c3af8a4231685ee9807684a File:Incinerator.png 6 99 1117 276 2024-02-03T04:51:22Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Incinerator Industry 8336cf15872d0b2a8bb29f42408d0881fb719ca7 File:Import Dock.png 6 98 1118 275 2024-02-03T04:51:36Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Import Dock Industry b809dd5e73534ecc5ffd2c8a4ab955a140b3f41e File:Hullyard.png 6 97 1119 274 2024-02-03T04:51:46Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Hullyard Industry 290a657a785591aa04c44819c8cd571cf2ac8415 File:Heavyworks.png 6 96 1120 273 2024-02-03T04:51:59Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Heavyworks Industry 26b46a8a5578c05539a74b3d33303888b2a8b44c File:Regional HeadQuarters.png 6 95 1121 272 2024-02-03T04:52:14Z Hiroteashi 379511 wikitext text/x-wiki [[category:Industry Icon]] == Summary == Company Headquarters Megaproject 0e6f41ff572ae6156335133ede4bf888e9c888e4 1122 1121 2024-02-03T04:53:01Z Hiroteashi 379511 Hiroteashi moved page [[File:Company Headquarters.png]] to [[File:Regonal Headquarters.png]] without leaving a redirect wikitext text/x-wiki [[category:Industry Icon]] == Summary == Company Headquarters Megaproject 0e6f41ff572ae6156335133ede4bf888e9c888e4 File:Hardmold.png 6 94 1123 271 2024-02-03T04:53:26Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Hardmold Industry bed61293bc9e8d5e73ed61d900fa81d706415afd File:Research Center.png 6 93 1124 301 2024-02-03T04:53:42Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Research Center Industry 2273788d2a8876b9cc4f17159827eb219ce70f74 File:Grey Assembly.png 6 92 1125 267 2024-02-03T04:53:55Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Grey Assembly Industry 8779b37a5caeb90f971a88cbe1335eaf124f5cd2 File:Appliance Plant.png 6 91 1126 266 2024-02-03T04:54:09Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Appliance Plant Industry fb4aefc644e94e3d534b6e85a9094ef61dfd08db File:Glass Smelter.png 6 90 1127 265 2024-02-03T04:54:20Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Glass Smelter Industry 38896ba7d9e3b907f9bbee8341d8e292ed9f3c73 File:Geothermal.png 6 89 1128 264 2024-02-03T04:54:34Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Geothermal Industry a72ed2200f467baf58fd827f81b9e445b17d9168 File:Furniture Assembler.png 6 88 1129 263 2024-02-03T04:54:47Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Furniture Assembler Industry d44ba9c20b37da98731d890bf37fb9afb61f47ae File:Framer.png 6 87 1130 262 2024-02-03T04:55:06Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Framer Industry 458895c6ea7c54092f0eb2e31e8e3e266a9584c5 File:Electronics Fab.png 6 86 1131 261 2024-02-03T04:55:16Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Electronics Fab Industry e83dd6b3d4b550eef5f4f9073f70e1bc56838721 File:Wire Coiler.png 6 85 1132 260 2024-02-03T04:55:41Z Hiroteashi 379511 wikitext text/x-wiki [[category:Industry Icon]] == Summary == Wire Coiler Industry 84dca3ddf711f916cf75f64c94a3091fda748bce File:Concrete Yard.png 6 84 1133 259 2024-02-03T04:55:51Z Hiroteashi 379511 wikitext text/x-wiki [[category:Industry Icon]] == Summary == Concrete Yard Industry d88562ff295c76cd07b913aaec674752334820df File:Compute Platform.png 6 82 1134 257 2024-02-03T04:56:05Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Compute Platform Industry 4d004b43468104df10274e963eaf46e66143ffb8 File:Coal Powerplant.png 6 81 1135 256 2024-02-03T04:56:15Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Coal Powerplant Industry 0b961e0c6a29f727a2ae925fb673be9374da64fb File:Coal Mine.png 6 80 1136 255 2024-02-03T04:56:25Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Coal Mine Industry 929703b05d17f1ad425fc9644b4c94a2e2142131 File:CPU Fab.png 6 79 1137 254 2024-02-03T04:56:35Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == CPU Fab Industry 76d6de23d950f3b4f69209941b53e12718911432 File:Booster Plant.png 6 78 1138 253 2024-02-03T04:56:47Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Booster Plant Industry f80979b1ad5a21a6d173011aeb908a8d7ce64867 File:Armory.png 6 77 1139 252 2024-02-03T04:56:56Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Armory Industry 8f710cb97b1dab5355ac2bf09fa88b5873a41bf8 File:Tool Die.png 6 76 1140 251 2024-02-03T04:57:13Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Tool Die Industry 8eff0078c8873e0d244ce056e97dd44db6e49613 File:Flatbed.png 6 70 1141 173 2024-02-03T04:57:52Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Flatbed Icon 1baaaff823e9d6c38a098138fd26ec55870492c3 File:Plastic.png 6 67 1142 138 2024-02-03T04:58:09Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Plastic Freight Icon 904fd569cb807e6e3266582c432a59998795c72f File:Wire.png 6 60 1143 78 2024-02-03T04:58:20Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Wire Freight ebde9b90c7606303f5122289502fef43089899d5 File:Widgets.png 6 59 1144 77 2024-02-03T04:58:30Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Widgets Freight 3db1bf7786ea653c6998552d3cf234b537b6ea51 File:Water.png 6 58 1145 76 2024-02-03T04:58:41Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Water Freight d2fd8aa2b4e61ed66d45c7b38e0ecf1974fdd69f File:Waste.png 6 57 1146 75 2024-02-03T04:58:53Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Waste Freight f0ba095d7df92b438cd5e6a0c419f90783091372 File:Televisions.png 6 56 1147 74 2024-02-03T04:59:03Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Television Freight 8bc9f826aa905a2c0cec4db6eabddaf394b284e2 File:Steel.png 6 55 1148 73 2024-02-03T04:59:14Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Steel Freight cd7c5b18b8b8cd91bc3ec303ecf2345fc4d3db96 File:Boiler.png 6 54 1149 191 2024-02-03T04:59:27Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Boiler Engine e75e8bc9c9ecf54fecd5adfabf3754f8c6e8006a File:Steam Tank.png 6 53 1150 71 2024-02-03T04:59:41Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Steam Tank Freight 4051922e3b6ce24f4644dca7543608e5c92a0e2e 1151 1150 2024-02-03T04:59:51Z Hiroteashi 379511 Hiroteashi moved page [[File:Steam.png]] to [[File:Steam Tank.png]] without leaving a redirect wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Steam Tank Freight 4051922e3b6ce24f4644dca7543608e5c92a0e2e File:Solvent.png 6 52 1152 70 2024-02-03T05:00:57Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Solvent Freight f8eeeae309931676f2c468eca12fe6ea70feb7af File:Signage.png 6 51 1153 69 2024-02-03T05:01:09Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Signage Freight 734d72921ff2bbdd4b67396eccb686328fdb9c7f File:Salt.png 6 50 1154 68 2024-02-03T05:01:20Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Salt Freight 603f9b8473310dcc97c3598cc5734fa8dbb447c0 File:RobotArm.png 6 49 1155 67 2024-02-03T05:01:30Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Robot Arms Freight d2c8f7f0094b2037b7648ba760abcdbd40f32af4 File:Retrograde.png 6 48 1156 66 2024-02-03T05:01:39Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Retrograde Freight 86d7a461ad5a49015d98a31668077b63dd8bc0ff File:Rescue.png 6 47 1157 181 2024-02-03T05:01:51Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Rescue Engine c4b37d94c7f2b288cd8e0e21291d5050d5c7dffd File:Reactives.png 6 46 1158 64 2024-02-03T05:02:03Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Reactives Freight 18f951ba099def2ebc660c006a476ad69318d481 File:Bank.png 6 45 1159 63 2024-02-03T05:02:24Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Bank Structure 84eb74f06ddd187463572a483c4a16afcac3c656 File:Voucher Exchange.png 6 44 1160 199 2024-02-03T05:02:53Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Voucher Exchange Structure e2758be33c5c6f1cab09d83160af210da416a2e0 File:Zeppelin Dock.png 6 43 1161 304 2024-02-03T05:03:12Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Zeppelin Dock Structure 47c845c0801ff20e9599ed63aceb84e89ba9869a File:Worker Housing.png 6 42 1162 60 2024-02-03T05:03:27Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Worker Housing Structure 563fec9bdea964b743635626c745ab6382e181b6 File:Accountancy.png 6 41 1163 59 2024-02-03T05:03:42Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Industry Icon]] == Summary == Accountancy Structure e69e155bfaf92a412930f226f30916f21044d9f9 File:PaperClips.png 6 40 1164 143 2024-02-03T05:03:52Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Paperclips Freight 8027b54715cb4f55db5a2b94f56a6a99c19a0945 File:Neon Gas.png 6 39 1165 153 2024-02-03T05:04:02Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Neon Freight 7f4055dab88d81a6a2bb2c5773caf8f04fd7d140 File:Motor.png 6 38 1166 56 2024-02-03T05:04:13Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Motors Freight 0add58180314ba428c2ab464eac43dc1770f7cac 1167 1166 2024-02-03T05:04:27Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] [[category:Train Segment Icon]] == Summary == Motors Freight b5446e3f1ab017d4c256c74f61d66ce52ec3038d File:Mainframes.png 6 37 1168 55 2024-02-03T05:04:39Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Mainframes Freight 429492cf85a26c1375f2d490f0f03daf311c7910 File:Luxury Rooms.png 6 36 1169 144 2024-02-03T05:04:50Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Luxury Room Freight 566926d49a682cc132bee89a8c802545bd2aacc5 File:Silica.png 6 35 1170 136 2024-02-03T05:05:00Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Silica Freight d25789c5fd891219e4c1843ae2da8f0310993e5f File:Iron.png 6 34 1171 127 2024-02-03T05:05:11Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Iron Ore Freight 7295b5fb99b39863e8283b1372ce4a4ca4c51517 File:Spark.png 6 33 1172 182 2024-02-03T05:05:21Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Spark Engine acd4665ff6cb7bd325792b53bebacad47a8e9801 File:Hulls.png 6 32 1173 50 2024-02-03T05:05:36Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Hulls Freight 85e383fa646053c19cee1f58f3d86091387afea5 File:Heavy Tools.png 6 31 1174 141 2024-02-03T05:05:46Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Heavy Tools Freight b772896719367acfd90d81f9d31df1ae3ea754d0 File:Kettle.png 6 30 1175 183 2024-02-03T05:05:56Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Kettle Engine bef430fcb1ac38722168dae37212f2c9458bd22b File:Appliances.png 6 29 1176 140 2024-02-03T05:06:08Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Appliances Freight 87749ca9cdb70d7440aac3e2b2ae4c5ccbabb91c File:Glass.png 6 28 1177 46 2024-02-03T05:06:18Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Glass Freight 48c13a172dbae85032865f16f4f39ea9cbb2a79f File:Furniture.png 6 27 1178 45 2024-02-03T05:06:29Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Furniture Freight 5d0744c4f72fefa933146c597e57f09010869f2b File:Rockets.png 6 26 1179 145 2024-02-03T05:06:45Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Rocket Engines Freight 5bf39d45650335cd3b634154cb76afdfbf2d1275 File:Energy.png 6 25 1180 43 2024-02-03T05:06:55Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Energy Freight c6201756df40a082407b205b994157d73a5a7118 File:Diesel Deluxe.png 6 24 1181 184 2024-02-03T05:07:05Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Diesel Deluxe Engine 10ae8e7b7edd636489c2874d6c74724235fd4d29 File:CUSTOM.png 6 23 1182 185 2024-02-03T05:07:15Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == CUSTOM Engine fda5eef094a53c3954a1bdea04f7fae726eb164c File:Crude Oil.png 6 22 1183 117 2024-02-03T05:07:26Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Crude Oil Freight 97698a53ad1c1043870789bfbfa8d5a05ced0e5f File:Copper.png 6 21 1184 135 2024-02-03T05:07:35Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Copper Ore Freight a3e06e3dbfd976fc1cefd07f8807b274d266d5ab File:Concrete.png 6 20 1185 38 2024-02-03T05:07:50Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Concrete Freight 060f7b13bdfb2686b42f216ef2f884fb752c4d6a File:Coal.png 6 19 1186 124 2024-02-03T05:08:16Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Coal Ore Freight 1cedf9523889cdc443b7f6960692b989c2263744 File:Industrial.png 6 18 1187 186 2024-02-03T05:08:28Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Industrial Engine 3a7a8f3d0eff2da8c3ea333ebf66b245e5d2c912 File:CPU.png 6 17 1188 146 2024-02-03T05:08:38Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == CPU Freight 3c904773b0f3374174ecd4ab397691df4191a5bf File:Bullet.png 6 16 1189 187 2024-02-03T05:08:47Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Bullet Engine 4cd505d3a42282d4dae6115ef8fc47eb93610953 File:Workhorse.png 6 14 1190 188 2024-02-03T05:09:12Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Workhorse Engine e6a122180055a14d600df46334e25ffc4e325303 File:Assembra.png 6 13 1191 34 2024-02-03T05:09:28Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == Assembra Freight 014bf41565b87987c2a317039bdf5407c1673b39 Incinerator 0 149 1192 399 2024-02-03T05:10:33Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Incinerator}} }} ===Trivia=== The Incinerator is the only player built [[Industry]] that costs money to use. Every time the Incinerator "purchases" [[waste]], the player will have to pay (-32 yen (¥) per waste) sold to it c2ef017137cb3d87eebced66cbb338ed20fbb1ff Category:Trains 14 8 1193 195 2024-02-03T05:11:38Z Hiroteashi 379511 /* List of Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable" |+ Train Engines |- ! Name !! Cost (¥) !! Upkeep (¥/s) !! Top Speed (km/h) !! Acceleration (km/h/s) || Climb Rating || Weight (tons) || Rated Weight (tons) || Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Shop|Voucher Purchase]] |} 3f954beb545df9515f53886c8e1ae3ca057dd91d 1194 1193 2024-02-03T05:13:22Z Hiroteashi 379511 /* List of Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Shop|Voucher Purchase]] |} 97b13ed2307cc4deac60add5a27bacd932be501d 1195 1194 2024-02-03T05:13:50Z Hiroteashi 379511 /* List of Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries|Industrial Framework]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Shop|Voucher Purchase]] |} 33ebfa0a1ee1e5ad7f234d2c028e45b6b5a5d81c Template:IndustryTableHeader 10 66 1196 1045 2024-02-03T05:16:00Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable cargoTable noMerge sortable customTable" |+ {{{1}}} |- ! rowspan="2" class="customTableHeader"|Name !! rowspan="2" class="customTableHeader"|Price (¥) !! rowspan="2" class="customTableHeader"|Max Workers !! rowspan="2" class="customTableHeader"|Recipe Time (s) !! colspan="2" class="unsortable customTableHeader"|Recipe !! rowspan="2" class="customTableHeader"|Catalyst |- ! class="unsortable customTableHeader"|Input !! class="unsortable customTableHeader"|Output {{{2}}} |}</includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry|{{IndustryDataParser|Water Pump}}}} <pre> {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDataParser|Water Pump}} }} </pre> </noinclude> 151529c5f04c3b98fffc9f9222d5c268b10167b8 Solvent 0 12 1197 1087 2024-02-03T05:16:40Z Hiroteashi 379511 /* Direct Consumers */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Solva}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Reclaimation Engine}}}} === Catalysted Industries === {{IndustryTableHeader|Catalyst for:| {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Atmospheric Seeder}}}} 5387130b21f697d5297a9ecfe269ab033ba2bb22 File:Atmospheric Seeder.png 6 121 1198 1096 2024-02-03T05:18:53Z Hiroteashi 379511 wikitext text/x-wiki [[category:Industry Icon]] == Summary == [[category:File]] The Experimental Atmospheric Seeder Megaproject ac65332b04b8a06ac8f6988a2eae6bffe32c21d6 1199 1198 2024-02-03T05:19:04Z Hiroteashi 379511 wikitext text/x-wiki == Summary == [[category:File]][[category:Industry Icon]] The Experimental Atmospheric Seeder Megaproject 7c786141a07ae447c97e2da5a2fd1b81c3294358 Category:Structures 14 9 1200 1080 2024-02-03T05:20:12Z Hiroteashi 379511 /* Megaprojects */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Reclamation Engine|Reclamation Engine (Destroyed and Reconstructed Variants)]] * [[Atmospheric Seeder|The Experimental Atmospheric Seeder and Steam Boilers]] 790f630caa1582dd0df1ff768ae4e696f0ac3705 Solva 0 145 1201 389 2024-02-03T05:20:57Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDetail|Solva}}}} ===Barks=== * Don't drink this * Stay out of the vats * Do not add water * Keep in darkness 4ee30be7e4bd1070a3326eb881c5196f8020083c Solva 0 145 1202 1201 2024-02-03T05:21:21Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Solva}}}} ===Barks=== * Don't drink this * Stay out of the vats * Do not add water * Keep in darkness e0b551e1f8474b138493da3674038b3f1c249e8e Solvent 0 12 1203 1197 2024-02-03T05:21:46Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Solva}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Reclamation Engine}}}} === Catalysted Industries === {{IndustryTableHeader|Catalyst for:| {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Atmospheric Seeder}}}} 3d9585c15ed0ddca7e1fd04be6898d784aee7d39 1205 1203 2024-02-03T05:28:14Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == Solvent == Solvent is a freight produced in high volume for use in advanced chemical and waste processing recipes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Solva}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Reclamation Engine}}}} === Catalyst Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Atmospheric Seeder}}}} 816dc6da61d349c3a178421acbee860a52c0e50d Module:Industry/Data 828 303 1204 1088 2024-02-03T05:23:29Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 8, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {"Cloud"}, outputCounts = {1} } p.industry = industry return p c0dc9587c8c62114cac71591abd06be0df0b9047 1242 1204 2024-02-03T06:43:40Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 8, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {"Cloud"}, outputCounts = {1} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p d8049bb0a3d888af41ae20f49dc04d47e71b1fb4 1244 1242 2024-02-03T06:49:23Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 9, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {"Cloud"}, outputCounts = {1} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p c594c4362256bc237e8ee7bc65b39f180c724340 Crude Oil 0 308 1206 2024-02-03T05:32:19Z Hiroteashi 379511 Created page with "[[category:freight]] == Crude Oil == Crude Oil is a freight typically used in basic chemical processes and [[Energy]] production. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Oil Well}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Oil Refinery}}}}" wikitext text/x-wiki [[category:freight]] == Crude Oil == Crude Oil is a freight typically used in basic chemical processes and [[Energy]] production. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Oil Well}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Oil Refinery}}}} 5c577b2e0c03caaf6b3a59fcb36fb66b44db7bcf Water 0 309 1207 2024-02-03T05:39:04Z Hiroteashi 379511 Created page with "[[category:freight]] == Water == Water is a freight typically used in catalyzing [[Energy]] and chemical industries. It is also commonly used to fuel the growth of [[City|Cities]] due to its ease of production and use. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Water Pump}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Solva}} {{IndustryDataParser|Concrete Yard}} {{IndustryDataParser|Solva}} {..." wikitext text/x-wiki [[category:freight]] == Water == Water is a freight typically used in catalyzing [[Energy]] and chemical industries. It is also commonly used to fuel the growth of [[City|Cities]] due to its ease of production and use. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Water Pump}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Solva}} {{IndustryDataParser|Concrete Yard}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Oil Refinery}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Oil Plasticizer}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Electronics Fab}}}} 9782ec84e26546a781b95ba1e81925a63d65deb1 1208 1207 2024-02-03T05:39:15Z Hiroteashi 379511 /* Catalyist Consumers */ wikitext text/x-wiki [[category:freight]] == Water == Water is a freight typically used in catalyzing [[Energy]] and chemical industries. It is also commonly used to fuel the growth of [[City|Cities]] due to its ease of production and use. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Water Pump}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Solva}} {{IndustryDataParser|Concrete Yard}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Oil Refinery}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Electronics Fab}}}} 1262e292398b365a9c45b17725583d1b82963f80 Silica 0 310 1209 2024-02-03T05:44:00Z Hiroteashi 379511 Created page with "[[category:freight]] == Silica == Silica is a freight typically used in the production of electronic components and the production of [[City]] growth related freight. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Silica Quarry}} {{IndustryDataParser|Reclaimation Engine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Salt Sifter}} {{IndustryDataParser|Concrete Yard}} {{IndustryDataParser|Glass Sme..." wikitext text/x-wiki [[category:freight]] == Silica == Silica is a freight typically used in the production of electronic components and the production of [[City]] growth related freight. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Silica Quarry}} {{IndustryDataParser|Reclaimation Engine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Salt Sifter}} {{IndustryDataParser|Concrete Yard}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Solva}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Electronics Fab}}}} 97a1be3acb3db80ca4261d184d336494b800e20d 1210 1209 2024-02-03T05:44:10Z Hiroteashi 379511 /* Production Recipes */ wikitext text/x-wiki [[category:freight]] == Silica == Silica is a freight typically used in the production of electronic components and the production of [[City]] growth related freight. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Silica Quarry}} {{IndustryDataParser|Reclamation Engine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Salt Sifter}} {{IndustryDataParser|Concrete Yard}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Solva}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Electronics Fab}}}} 983ee6d1fc41bb50b08af9c1d4e80ab02e5f9fc1 1211 1210 2024-02-03T05:44:21Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Silica == Silica is a freight typically used in the production of electronic components and the production of [[City]] growth related freight. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Silica Quarry}} {{IndustryDataParser|Reclamation Engine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Concrete Yard}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Solva}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Electronics Fab}}}} 713cf8a13ca2b451b1838b9d56c37eb594851453 1212 1211 2024-02-03T05:44:56Z Hiroteashi 379511 /* Production Recipes */ wikitext text/x-wiki [[category:freight]] == Silica == Silica is a freight typically used in the production of electronic components and the production of [[City]] growth related freight. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Silica Quarry}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Concrete Yard}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Solva}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Electronics Fab}}}} 6f8209d1e51dec552457d95e752232ae565f8574 Salt 0 311 1213 2024-02-03T05:46:57Z Hiroteashi 379511 Created page with "[[category:freight]] == Salt == Salt is a freight purely used for [[City]] growth or for export. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Salt Refinery}}}}" wikitext text/x-wiki [[category:freight]] == Salt == Salt is a freight purely used for [[City]] growth or for export. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Salt Refinery}}}} 3874ced3b032cd98f885e54694b90f38abef9942 1214 1213 2024-02-03T05:47:25Z Hiroteashi 379511 /* Salt */ wikitext text/x-wiki [[category:freight]] == Salt == Salt is a freight purely used for [[City]] growth or for profitable export. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Salt Refinery}}}} 33cd4191290f39a59e6c69bf1d98a9e41e4a8987 1215 1214 2024-02-03T05:47:54Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == Salt == Salt is a freight purely used for [[City]] growth or exported for revenue purposes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Salt Refinery}}}} 0f7df72afa271d9b2854956d8a0ec025b65c3eb8 1229 1215 2024-02-03T06:13:03Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == Salt == Salt is a freight purely used for [[City]] growth or exported for revenue purposes. === Production Recipes=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Salt Refinery}}}} 81a131d46c9724e22d022c052476380eea875fbd Energy 0 312 1216 2024-02-03T05:55:11Z Hiroteashi 379511 Created page with "[[category:freight]] == Energy == Energy is a ubiquitous freight. It is a catalyst for many industries and is also consumed in a few energy intensive industries. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Coal Powerplant}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Glass Smelter}} {{..." wikitext text/x-wiki [[category:freight]] == Energy == Energy is a ubiquitous freight. It is a catalyst for many industries and is also consumed in a few energy intensive industries. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Coal Powerplant}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Reclamation Engine}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Furiture Assembler}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Concrete Yard}} 709c8495c0f698c17db08d2b974d5878de620d5e 1217 1216 2024-02-03T05:55:31Z Hiroteashi 379511 /* Catalyist Consumers */ wikitext text/x-wiki [[category:freight]] == Energy == Energy is a ubiquitous freight. It is a catalyst for many industries and is also consumed in a few energy intensive industries. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Coal Powerplant}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Reclamation Engine}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Furiture Assembler}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Concrete Yard}}}} 1abc36964be067e1016561ad8e9588806adb9b7f 1218 1217 2024-02-03T05:55:48Z Hiroteashi 379511 /* Catalyist Consumers */ wikitext text/x-wiki [[category:freight]] == Energy == Energy is a ubiquitous freight. It is a catalyst for many industries and is also consumed in a few energy intensive industries. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Coal Powerplant}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Reclamation Engine}}}} === Catalyist Consumers === {{IndustryTableHeader|Catalyizes| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Concrete Yard}}}} 2bafcfa0b829d811e7b77475ae74dcef8529cfdd Coal 0 313 1219 2024-02-03T05:59:42Z Hiroteashi 379511 Created page with "[[category:freight]] == Coal == Coal is a freight used in [[Energy]] production and is an alternative to [[Oil]] in the production of a chemicals and plastics, though the recipes are typically more wasteful. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Coal Mine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Coal Power}} {{IndustryDataParser|Hardmold}} {{Industr..." wikitext text/x-wiki [[category:freight]] == Coal == Coal is a freight used in [[Energy]] production and is an alternative to [[Oil]] in the production of a chemicals and plastics, though the recipes are typically more wasteful. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Coal Mine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Coal Power}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Ore Gassifier}}}} 96e1a067ba88e69348fcb7601fef0f3dfcc5db07 1220 1219 2024-02-03T06:00:52Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == Coal == Coal is a freight mostly used in [[Energy]] and [[Steel]] production. It is also an alternative to [[Oil]] in the production of chemicals and plastics. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Coal Mine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Coal Gassifier}}}} dc41788db5b9bc800771de10f4f7e74d20d7802b Iron 0 314 1221 2024-02-03T06:03:50Z Hiroteashi 379511 Created page with "[[category:freight]] == Iron== Iron is a freight mostly used for [[Steel]] production, though it has a few uses as an oxidizing agent for [[Retrograde]] production. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Iron Mine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Booster Plant}}" wikitext text/x-wiki [[category:freight]] == Iron== Iron is a freight mostly used for [[Steel]] production, though it has a few uses as an oxidizing agent for [[Retrograde]] production. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Iron Mine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Booster Plant}} 553ed15c8c483fdb0930f1bbdcc60e761f3d846d 1222 1221 2024-02-03T06:04:05Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Iron== Iron is a freight mostly used for [[Steel]] production, though it has a few uses as an oxidizing agent for [[Retrograde]] production. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Iron Mine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Booster Plant}}}} fff982ef8e4d0023bc9cc2e74dfbb10cef034373 Category:Freight 14 10 1223 174 2024-02-03T06:05:29Z Hiroteashi 379511 wikitext text/x-wiki == Freight == Freight are the valuable commodities that are loaded onto the player's trains and sold at [[:category:structures#industries|Industries]] for revenue. Freight can only be loaded onto an empty {{item|flatbed}} of its originally chosen freight type. {| class="wikitable sortable" |+ Freight |- ! Name !! Sell Value (¥) |- | {{Item|Solvent}} || 16 |- | {{Item|Water}} || 32 |- | {{Item|Crude Oil}} || 32 |- | {{Item|Coal}} || 32 |- | {{Item|Silica}} || 32 |- | {{Item|Iron}} || 32 |- | {{Item|Copper}} || 32 |- | {{Item|Wire}} || 32 |- | {{Item|Waste}} || -32 |- | {{Item|PaperClips}} || 32 |- | {{Item|Plastic}} || 64 |- | {{Item|Widgets}} || 64 |- | {{Item|Neon Gas}} || 64 |- | {{Item|Concrete}} || 64 |- | {{Item|Reactives}} || 64 |- | {{Item|Energy}} || 64 |- | {{Item|Furniture}} || 64 |- | {{Item|Steel}} || 64 |- | {{Item|Salt}} || 64 |- | {{Item|Glass}} || 64 |- | {{Item|Motor}} || 64 |- | {{Item|Appliances}} || 128 |- | {{Item|Rockets}} || 128 |- | {{Item|Signage}} || 256 |- | {{Item|CPU}} || 256 |- | {{Item|Heavy Tools}} || 256 |- | {{Item|Retrograde}} || 256 |- | {{Item|Assembra}} || 256 |- | {{Item|Hulls}} || 256 |- | {{Item|Luxury Rooms}} || 256 |- | {{Item|Televisions}} || 512 |- | {{Item|Mainframes}} || 512 |- | {{Item|RobotArm}} || 512 |- | {{Item|Steam Tank}} || 0 |} 3caf2e072648cdb5d3af541d84b602e4fd0baeb0 1224 1223 2024-02-03T06:07:36Z Hiroteashi 379511 wikitext text/x-wiki == Freight == Freight are the valuable commodities that are loaded onto the player's trains and sold at [[:category:structures#industries|Industries]] for revenue. Freight can only be loaded onto an empty {{item|flatbed}} of its originally chosen freight type. {| class="wikitable cargoTable noMerge sortable customTable" |+ Freight |- ! class="customTableHeader"|Name !! class="customTableHeader"|Sell Value (¥) |- | {{Item|Solvent}} || 16 |- | {{Item|Water}} || 32 |- | {{Item|Crude Oil}} || 32 |- | {{Item|Coal}} || 32 |- | {{Item|Silica}} || 32 |- | {{Item|Iron}} || 32 |- | {{Item|Copper}} || 32 |- | {{Item|Wire}} || 32 |- | {{Item|Waste}} || -32 |- | {{Item|PaperClips}} || 32 |- | {{Item|Plastic}} || 64 |- | {{Item|Widgets}} || 64 |- | {{Item|Neon Gas}} || 64 |- | {{Item|Concrete}} || 64 |- | {{Item|Reactives}} || 64 |- | {{Item|Energy}} || 64 |- | {{Item|Furniture}} || 64 |- | {{Item|Steel}} || 64 |- | {{Item|Salt}} || 64 |- | {{Item|Glass}} || 64 |- | {{Item|Motor}} || 64 |- | {{Item|Appliances}} || 128 |- | {{Item|Rockets}} || 128 |- | {{Item|Signage}} || 256 |- | {{Item|CPU}} || 256 |- | {{Item|Heavy Tools}} || 256 |- | {{Item|Retrograde}} || 256 |- | {{Item|Assembra}} || 256 |- | {{Item|Hulls}} || 256 |- | {{Item|Luxury Rooms}} || 256 |- | {{Item|Televisions}} || 512 |- | {{Item|Mainframes}} || 512 |- | {{Item|RobotArm}} || 512 |- | {{Item|Steam Tank}} || 0 |} 4461f2a6531cb32a89cb2132bdc8eb6a44b9c1ac Appliances 0 315 1225 2024-02-03T06:09:56Z Hiroteashi 379511 Created page with "[[category:freight]] == Appliances == Appliances are a freight purely used for [[City]] growth or exported for revenue purposes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Electronics Fab}}}}" wikitext text/x-wiki [[category:freight]] == Appliances == Appliances are a freight purely used for [[City]] growth or exported for revenue purposes. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Electronics Fab}}}} 25740225cdf5a01b5f9ced8a0b6885b1f403b08a Appliance Plant 0 148 1226 397 2024-02-03T06:10:48Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| IndustryDataParser|Appliance Plant}} }} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''Goods Factory''' on release. However the term '''Goods''' was often confused with the concept of '''Freight''', which eventually lead to the '''Appliances''' name being used. 2d2c61f9b929ba168d8d2fb0ff030ddb186e8a93 1227 1226 2024-02-03T06:11:49Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader| IndustryDataParser|Appliance Plant}} }} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''Goods Factory''' on release. However the term '''Goods''' was often confused with the concept of '''Freight''', which eventually lead to the '''Appliances''' name being used. ec23413880beee4ec37fd2d763f14a560e452eb2 1228 1227 2024-02-03T06:12:01Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader| {{IndustryDataParser|Appliance Plant}} }} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''Goods Factory''' on release. However the term '''Goods''' was often confused with the concept of '''Freight''', which eventually lead to the '''Appliances''' name being used. b5c191be40ffad071e4289a0a208f7101bf820d3 1230 1228 2024-02-03T06:13:27Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe {{IndustryDataParser|Appliance Plant}}}} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''Goods Factory''' on release. However the term '''Goods''' was often confused with the concept of '''Freight''', which eventually lead to the '''Appliances''' name being used. 6756fa553b21f1a071bd04a2c18bd5ccf1093cd6 1231 1230 2024-02-03T06:13:36Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Appliance Plant}}}} ===Barks=== * You can pick any color so long as it is white * Fridges so shiny they double as mirrors * White goods for your domestic needs * Extra screws included! ===Trivia=== The [[Appliance Plant]] used to be called the '''Goods Factory''' on release. However the term '''Goods''' was often confused with the concept of '''Freight''', which eventually lead to the '''Appliances''' name being used. cafc0d8ff492bb3f6fc33629b02ba284344cb560 Steel 0 316 1232 2024-02-03T06:17:45Z Hiroteashi 379511 Created page with "[[category:freight]] == Steel == Steel is a freight often used in the production of advanced structural materials. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Steel Mill}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Paperclip Stamper}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataPar..." wikitext text/x-wiki [[category:freight]] == Steel == Steel is a freight often used in the production of advanced structural materials. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Steel Mill}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Paperclip Stamper}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|RobotArms}} {{IndustryDataParser|Luxury Assembler}}}} 89ee1e1d36c3bebdf7daa0bee155c27643a579d5 1233 1232 2024-02-03T06:18:19Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Steel == Steel is a freight often used in the production of advanced structural materials. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Steel Mill}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Paperclip Stamper}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|Armory}} {{IndustryDataParser|Luxury Assembler}}}} 63ab6a4256a2595b8aff2ee731d94dbd18000cd2 PaperClips 0 317 1234 2024-02-03T06:20:11Z Hiroteashi 379511 Created page with "[[category:freight]] == PaperClip == PaperClips are a freight purely used for profitable exporting. It is also the main focus of the [[Clipped Wings]] story arc. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Paperclip Stamper}}}}" wikitext text/x-wiki [[category:freight]] == PaperClip == PaperClips are a freight purely used for profitable exporting. It is also the main focus of the [[Clipped Wings]] story arc. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Paperclip Stamper}}}} 143de15f876cb8a7a03ba60524fbab5a21e9bf7e 1235 1234 2024-02-03T06:23:39Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == PaperClip == PaperClips are a freight purely used for profitable exporting. It is also the main focus of the Campaign's [[Clipped Wings]] story arc. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Paperclip Stamper}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Destroyed Reclamation Engine}} e77999a36006459b5428112dbb5443d63b43c1db 1236 1235 2024-02-03T06:24:20Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == PaperClip == PaperClips are a freight purely used for profitable exporting. It is also the main focus of the Campaign's [[Clipped Wings]] story arc. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Paperclip Stamper}}}} e8ee749ac95c934c81f1546b7b6cebeb7e01c87a Copper 0 318 1237 2024-02-03T06:27:13Z Hiroteashi 379511 Created page with "[[category:freight]] == Copper == Copper is a freight used in [[Wire]] production and as a [[City]] growth component. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Reclamation Engine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Wire Coiler}}}}" wikitext text/x-wiki [[category:freight]] == Copper == Copper is a freight used in [[Wire]] production and as a [[City]] growth component. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Reclamation Engine}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Wire Coiler}}}} ae2e51644e7146e475c3dabeea0d0ac8028d3ba8 Wire 0 319 1238 2024-02-03T06:29:53Z Hiroteashi 379511 Created page with "[[category:freight]] == Wire== Wire is a freight used [[City]] growth and for most electronics related production chains. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Wire Coiler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Goods Factory}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Framer}} {{IndustryDataPars..." wikitext text/x-wiki [[category:freight]] == Wire== Wire is a freight used [[City]] growth and for most electronics related production chains. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Wire Coiler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Goods Factory}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Tube Plant}}}} f911c50a18f91e262ba6bd5ef124b4c28999e30d 1239 1238 2024-02-03T06:30:11Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Wire== Wire is a freight used [[City]] growth and for most electronics related production chains. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Wire Coiler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Tube Plant}}}} 1721ece4c4ed924714dc6a7ee59a431f930eea23 Waste 0 320 1240 2024-02-03T06:37:37Z Hiroteashi 379511 Created page with "[[category:freight]] == Waste == Waste is a unique freight. It is the only freight that costs money to "sell" to its one consuming industry, the [[Incinerator]]. However Waste sales to the industries it catalyzes are free, with no money earned or lost. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataPar..." wikitext text/x-wiki [[category:freight]] == Waste == Waste is a unique freight. It is the only freight that costs money to "sell" to its one consuming industry, the [[Incinerator]]. However Waste sales to the industries it catalyzes are free, with no money earned or lost. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Luxury Assembler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Incinerator}} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Silica Quarry}}}} 0603654c49355240d3ecc71e688cbb579cd36ea0 1241 1240 2024-02-03T06:37:49Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Waste == Waste is a unique freight. It is the only freight that costs money to "sell" to its one consuming industry, the [[Incinerator]]. However Waste sales to the industries it catalyzes are free, with no money earned or lost. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Luxury Assembler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Incinerator}}}} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Silica Quarry}}}} cd4cb9bd7ef0d8afe7986db7eca063657e96883b Steam Tank 0 321 1243 2024-02-03T06:46:51Z Hiroteashi 379511 Created page with "[[category:freight]] == Steam Tank == The Steam Tank is a freight used only in the campaign region [[Brewing Up a Storm]]. It uniquely also sells for 0 yen. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Steam Boiler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Atmospheric Seeder}}}}" wikitext text/x-wiki [[category:freight]] == Steam Tank == The Steam Tank is a freight used only in the campaign region [[Brewing Up a Storm]]. It uniquely also sells for 0 yen. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Steam Boiler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Atmospheric Seeder}}}} d4bc130528757abdadad3aef2ccc5ebcf721c9c4 Heavy Tools 0 322 1245 2024-02-03T06:54:22Z Hiroteashi 379511 Created page with "[[category:freight]] == Heavy Tools == Heavy Tools are a freight typically used as a catalyst in the production of heavy structural products, like [[Paperclips]]. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Heavyworks}}}} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryTableHeader|Consumers| {{IndustryDataParser|Paperclip Stamper}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Armory}} {{IndustryDataParse..." wikitext text/x-wiki [[category:freight]] == Heavy Tools == Heavy Tools are a freight typically used as a catalyst in the production of heavy structural products, like [[Paperclips]]. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Heavyworks}}}} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryTableHeader|Consumers| {{IndustryDataParser|Paperclip Stamper}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Armory}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Steam Boiler}}}} d36f1ef5d27e7f30b42416f06dc157d762070862 Heavyworks 0 164 1246 415 2024-02-03T06:55:03Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Heavyworks}} }} ===Barks=== * Like a powerup for industry * Catalyzing the future * Careful, these are heavy * Lift with your legs 9b1fa0bb98e8e1d600807670be1ea6f0607050b9 Copper Mine 0 135 1247 381 2024-02-03T06:59:02Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Copper deposit]]. {{IndustryTableHeader|Recipe| {{IndustryParserData|Silica Quarry}} }} ===Barks=== {{#section-h:Coal_Mine|Barks}} 91cb864265c9aa539c77723db20f68818ce3178d 1248 1247 2024-02-03T06:59:19Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Copper deposit]]. {{IndustryTableHeader|Recipe| {{IndustryDataParser|Silica Quarry}} }} ===Barks=== {{#section-h:Coal_Mine|Barks}} fc477388d3f6f65817d95144a41d0183cdabfe22 Plastic 0 323 1249 2024-02-03T07:04:03Z Hiroteashi 379511 Created page with "[[category:freight]] == Plastic == Plastic can be produced out of [[Oil]] or [[Coal]] with both recipes being just as resource efficient. It is a freight used in light construction. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Tooldie}} {{IndustryDataParser|Furniture Assemb..." wikitext text/x-wiki [[category:freight]] == Plastic == Plastic can be produced out of [[Oil]] or [[Coal]] with both recipes being just as resource efficient. It is a freight used in light construction. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Tooldie}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Fab}} eea4ae28b89cca3fdd06da1c26fcbb719f1c287d 1250 1249 2024-02-03T07:04:14Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Plastic == Plastic can be produced out of [[Oil]] or [[Coal]] with both recipes being just as resource efficient. It is a freight used in light construction. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Tooldie}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Fab}} }} f688b33c5489d049618e7a806e0960c19101426c 1251 1250 2024-02-03T07:04:44Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Plastic == Plastic can be produced out of [[Oil]] or [[Coal]] with both recipes being just as resource efficient. It is a freight used in light construction. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Furniture Assembler}} }} 297f367f7f57d11bd794e3ff82e8a767b4235d43 Hulls 0 324 1252 2024-02-03T07:09:06Z Hiroteashi 379511 Created page with "[[category:freight]] == Hulls == Hulls are a high level freight used for Rocket assembly and living space construction. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Hullyard}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|WorkRocket Platform}} }}" wikitext text/x-wiki [[category:freight]] == Hulls == Hulls are a high level freight used for Rocket assembly and living space construction. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Hullyard}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|WorkRocket Platform}} }} 3d4bdf252f024b6257886b0bc69b2f249fae01d3 Furniture 0 325 1253 2024-02-03T07:11:35Z Hiroteashi 379511 Created page with "[[category:freight]] == Furniture == Furniture is a freight typically used as a [[City]] growth item. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Furniture Assembler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Luxury Assember}} }}" wikitext text/x-wiki [[category:freight]] == Furniture == Furniture is a freight typically used as a [[City]] growth item. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Furniture Assembler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Luxury Assember}} }} bee7033c81d9f11a3705ab5c5cc7679786806077 1254 1253 2024-02-03T07:12:10Z Hiroteashi 379511 /* Consuming Industries */ wikitext text/x-wiki [[category:freight]] == Furniture == Furniture is a freight typically used as a [[City]] growth item. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Furniture Assembler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Luxury Assembler}} }} 7218f5f72593db226ee73d22bbe28fb2ec939b23 Luxury Rooms 0 326 1255 2024-02-03T07:13:38Z Hiroteashi 379511 Created page with "[[category:freight]] == Luxury Rooms == Luxury Rooms are a freight typically used as a [[City]] growth item. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Luxury Assembler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|SpaceLiner Platform}} }}" wikitext text/x-wiki [[category:freight]] == Luxury Rooms == Luxury Rooms are a freight typically used as a [[City]] growth item. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Luxury Assembler}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|SpaceLiner Platform}} }} 6b4978d5022c7df088bc0aa483e5ca7841c8258a Rockets 0 327 1256 2024-02-03T07:17:23Z Hiroteashi 379511 Created page with "[[category:freight]] == Rockets == Rockets are a freight used in all of the Rocket Launch Platforms. Otherwise it is only useful as a profitable export === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Rocket Factory}} }} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} {{IndustryDataParser|Compute Platform}} }}" wikitext text/x-wiki [[category:freight]] == Rockets == Rockets are a freight used in all of the Rocket Launch Platforms. Otherwise it is only useful as a profitable export === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Rocket Factory}} }} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} {{IndustryDataParser|Compute Platform}} }} b4ba00c6a8d3e9413eaa23f00003550b0ed8fe70 Widgets 0 328 1257 2024-02-03T07:25:36Z Hiroteashi 379511 Created page with "[[category:freight]] == Widgets == Widgets are a freight typically used to make a few higher tier items as well as a [[City]] growth item. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Tool Die}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Framer}} }} ==Trivia== Widgets, in the game, are the random light tools and gadgets t..." wikitext text/x-wiki [[category:freight]] == Widgets == Widgets are a freight typically used to make a few higher tier items as well as a [[City]] growth item. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Tool Die}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Framer}} }} ==Trivia== Widgets, in the game, are the random light tools and gadgets that would be seen in a tool shop on earth. ec535a98c53082743393cca211ac15185e19dbe6 CPU 0 329 1258 2024-02-03T07:28:47Z Hiroteashi 379511 Created page with "[[category:freight]] == CPU == CPU is a high tech freight used in the production of advanced electronic components and can also be use for [[City]] growth. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|CPU Fab}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|Tube Plant}} }}" wikitext text/x-wiki [[category:freight]] == CPU == CPU is a high tech freight used in the production of advanced electronic components and can also be use for [[City]] growth. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|CPU Fab}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|Tube Plant}} }} bbe5e247c833a5a8ed158bb5e992ddbd7150897a Neon Gas 0 330 1259 2024-02-03T07:32:44Z Hiroteashi 379511 Created page with "[[category:freight]] == Neon Gas == Neon Gas is a freight used in a variety of high tier industries as an input or as a catalyst. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Neon Refinery}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} }} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryDataParser|Solva}} {{IndustryDataParser|Boost..." wikitext text/x-wiki [[category:freight]] == Neon Gas == Neon Gas is a freight used in a variety of high tier industries as an input or as a catalyst. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Neon Refinery}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} }} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryDataParser|Solva}} {{IndustryDataParser|Booster Plant}} }} f431a07784caf8223ae51b6f6827445264b32480 Signage 0 331 1260 2024-02-03T07:33:56Z Hiroteashi 379511 Created page with "[[category:freight]] == Signage == Signage is a freight used only for [[City]] growth or can be profitably exported. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Signworks}}}}" wikitext text/x-wiki [[category:freight]] == Signage == Signage is a freight used only for [[City]] growth or can be profitably exported. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Signworks}}}} 6039e56bc0f652da8d14e18677b1c4cc52b33113 Glass 0 332 1261 2024-02-03T07:35:40Z Hiroteashi 379511 Created page with "[[category:freight]] == Glass == Glass is a freight used in [[City]] growth and City growth related freight. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Glass Smelter}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Signworks}} {{IndustryDataParser|Tube Plant}} }}" wikitext text/x-wiki [[category:freight]] == Glass == Glass is a freight used in [[City]] growth and City growth related freight. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Glass Smelter}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Signworks}} {{IndustryDataParser|Tube Plant}} }} 08ac2ef5ee9b7032f0d88abc61e7793a90f411d6 Televisions 0 333 1262 2024-02-03T07:37:53Z Hiroteashi 379511 Created page with "[[category:freight]] == Televisions == Televisions are a freight mostly used as a [[City]] growth item. They are also used in SpaceLiner launching. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Tube Plant}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|SpaceLiner Platform}} }}" wikitext text/x-wiki [[category:freight]] == Televisions == Televisions are a freight mostly used as a [[City]] growth item. They are also used in SpaceLiner launching. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Tube Plant}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|SpaceLiner Platform}} }} cef10817a6f57b846695e507d27c812c8a880bc2 Retrograde 0 334 1263 2024-02-03T07:39:38Z Hiroteashi 379511 Created page with "[[category:freight]] == Retrograde == Retrograde is a freight used as fuel for Rocket Launches. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Booster Plant}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} {{IndustryDataParser|Compute Platform}} }}" wikitext text/x-wiki [[category:freight]] == Retrograde == Retrograde is a freight used as fuel for Rocket Launches. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Booster Plant}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} {{IndustryDataParser|Compute Platform}} }} a93ed1fe34a347799d6f6b94eea1673340478827 Motor 0 335 1264 2024-02-03T07:42:34Z Hiroteashi 379511 Created page with "[[category:freight]] == Motors == Motors are an intermediate freight used to produce high tier catalysts. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Motor Assembly}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} }}" wikitext text/x-wiki [[category:freight]] == Motors == Motors are an intermediate freight used to produce high tier catalysts. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Motor Assembly}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Heavyworks}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} }} f7a96017457de9820f391eafc1520c23577b6fef RobotArm 0 336 1265 2024-02-03T07:44:59Z Hiroteashi 379511 Created page with "[[category:freight]] == RobotArm == RobotArm is a freight used as a catalyst for intricate fabrication. It is also used in the production of Robot Deer === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Armory}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|The Mechanist}} }} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|Framer}..." wikitext text/x-wiki [[category:freight]] == RobotArm == RobotArm is a freight used as a catalyst for intricate fabrication. It is also used in the production of Robot Deer === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Armory}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|The Mechanist}} }} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Tube Plant} {{IndustryDataParser|CPU Fab}} }} ecfd76b446907a98a8244fd97a53fa900fbae3cf 1266 1265 2024-02-03T07:45:24Z Hiroteashi 379511 /* Catalyst Consumers */ wikitext text/x-wiki [[category:freight]] == RobotArm == RobotArm is a freight used as a catalyst for intricate fabrication. It is also used in the production of Robot Deer === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Armory}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|The Mechanist}} }} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|CPU Fab}} }} 9aee1a0b3f1f94b10b21f71d9e60fba7dd291dd8 Mainframes 0 337 1267 2024-02-03T07:46:36Z Hiroteashi 379511 Created page with "[[category:freight]] == Mainframes == Mainframes are a freight used in [[City]] growth and for Satellite Launches. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Framer}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Compute Platform}} }}" wikitext text/x-wiki [[category:freight]] == Mainframes == Mainframes are a freight used in [[City]] growth and for Satellite Launches. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Framer}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Compute Platform}} }} 6113ca973b78681577a2e5dc6020f60826980ac7 Assembra 0 338 1268 2024-02-03T07:50:20Z Hiroteashi 379511 Created page with "[[category:freight]] == Assembra == Assembra is an extremely dangerous, but useful freight. It is used as a catalyst for the most advanced industries and is considered a technological marvel capable of fulfilling many industrial roles. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Grey Assembly}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Atmospheric Seeder}} }} === Catalyst Consumers === {{I..." wikitext text/x-wiki [[category:freight]] == Assembra == Assembra is an extremely dangerous, but useful freight. It is used as a catalyst for the most advanced industries and is considered a technological marvel capable of fulfilling many industrial roles. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Grey Assembly}}}} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Atmospheric Seeder}} }} === Catalyst Consumers === {{IndustryTableHeader|Catalyzes| {{IndustryDataParser|The Mechanist}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|Reclamation Engine}} }} ab0d1709d8a4ae1fd0ac4acc856cd2f9857e47ca Reactives 0 339 1269 2024-02-03T07:52:43Z Hiroteashi 379511 Created page with "[[category:freight]] == Reactives == Reactives are a freight typically used in early chemical proccesses. It can be produced with [[Oil]] and [[Coal]], with the Coal path being less efficient. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} }} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Grey Assembly}} {{Indust..." wikitext text/x-wiki [[category:freight]] == Reactives == Reactives are a freight typically used in early chemical proccesses. It can be produced with [[Oil]] and [[Coal]], with the Coal path being less efficient. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} }} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Booster Plant}} }} 9e826eeb5ca9abd2cd73198ffce90ce417034b42 1270 1269 2024-02-03T07:53:07Z Hiroteashi 379511 wikitext text/x-wiki [[category:freight]] == Reactives == Reactives are a freight typically used in early chemical processes. It can be produced with [[Crude Oil]] and [[Coal]], with the Coal path being less efficient. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Coal Gassifier}} }} === Consuming Industries === {{IndustryTableHeader|Consumers| {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Booster Plant}} }} e589bdd3882f310734f1f414ebea4bcce6708994 Concrete 0 340 1271 2024-02-03T07:54:33Z Hiroteashi 379511 Created page with "[[category:freight]] == Concrete == Concrete is a freight mostly used for [[City]] growth. Most MegaProjects require a quantity of Concrete as well. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Concrete Yard}}}}" wikitext text/x-wiki [[category:freight]] == Concrete == Concrete is a freight mostly used for [[City]] growth. Most MegaProjects require a quantity of Concrete as well. === Production Recipes=== {{IndustryTableHeader|Producers| {{IndustryDataParser|Concrete Yard}}}} 8b1f282c8104001a3c438a99284a9c3e4647b4b9 Water Pump 0 131 1272 370 2024-02-03T07:55:27Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on [[water spring]]. {{IndustryTableHeader|Recipe| {{IndustryDataParser|Water Pump}} }} ===Barks=== * Don't waste a drop! * The waters of life, here * Blue gold by the barrel! * They better drink this slowly 12547bb1ab45f7fb72c4f088a1e8a94e7be1e1d0 Oil Well 0 132 1273 369 2024-02-03T07:55:42Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on [[oil spring]]. {{IndustryTableHeader|Recipe| {{IndustryDataParser|Oil Well}} }} ===Barks=== * Oops, it is gushing oil! * Oil is slimy and gets everywhere * I love oil * Please just take this oil away 3d0ac93bf4c43a24ac89c133a1cdf262e61b0d52 Geothermal 0 133 1274 375 2024-02-03T07:56:21Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Steam Vent]]. Produces [[Energy]] from the steam. Not to be confused with the [[Steam Boiler]] that is present in [[Brewing up a Storm]] {{IndustryTableHeader|Recipe| {{IndustryDataParser|Geothermal}} }} ===Barks=== * Running a bit hot * Shame it's undrinkable * Too hot for a bath * Want some tea? d48e7155f3018a8a767f4d5d902782691eb61cb4 Coal Mine 0 134 1275 376 2024-02-03T07:58:33Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Coal deposit]]. {{IndustryTableHeader|Recipe| {{IndustryDataParser|Coal Mine}} }} ===Barks=== * Rocky start eh? * Don't take us for granite * Ore, it's crushingly heavy * We've hit rock bottom * Now ore never * Am I right? Ore am I right! e4fbc686c32bf28efe72aa4d1345f16d58aadfb4 Copper Mine 0 135 1276 1248 2024-02-03T07:58:51Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Copper deposit]]. {{IndustryTableHeader|Recipe| {{IndustryDataParser|Copper Mine}}}} ===Barks=== {{#section-h:Coal_Mine|Barks}} f2b62c5be2c48d806832f09d94e9961b54cdbf37 Iron Mine 0 136 1277 378 2024-02-03T07:59:16Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Iron deposit]]. {{IndustryTableHeader|Recipe| {{IndustryDataParser|Iron Mine}}}} ===Barks=== {{#section-h:coal_Mine|Barks}} 7422c897262693d7745c4ed72b88a7971157552e Silica Quarry 0 137 1278 379 2024-02-03T07:59:29Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== Must be built on top of [[Silica deposit]]. {{IndustryTableHeader|Recipe| {{IndustryDataParser|Silica Quarry}}}} ===Barks=== {{#section-h:Coal_Mine|Barks}} 306342dff74bcd9cfac8c61633d4f5130b98acff Coal Powerplant 0 138 1279 382 2024-02-03T07:59:52Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Coal Powerplant}}}} ===Barks=== * Keep the coal coming! * We need coal for the fire * Just watch these turbines spin! 774a3fe0fa07967691b51266c870159c7f09627b Oil Refinery 0 140 1280 384 2024-02-03T08:00:10Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Oil Refinery}}}} ===Barks=== * Brewing oil is a bit like brewing coffee * I love coffee * I like my coffee like I like my oil: black * Black gold! b257484f4f5e5a888c2bc87844ed3c5369347df0 Oil Powerplant 0 139 1281 383 2024-02-03T08:00:33Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Oil Powerplant}}}} ===Barks=== * Adjusting the flow * Cleaning is half the job * My time is too valuable for dirt * The oil must flow 4bbef9e111efb425d58f3cb7f1390f15ae20b4e1 Steel Mill 0 141 1282 385 2024-02-03T08:00:51Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Steel Mill}}}} ===Barks=== * When you need it straight and strong, use steel * Furnaces are hot so keeping the ores flowing! * Strike while the bellows are blowing! db33fafb4f91fb4753506f691e5e4c5cb64870c5 Salt Refinery 0 142 1283 386 2024-02-03T08:01:07Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Salt Refinery}}}} ===Barks=== * Rock salt without the rock * Savoury to the last grain * Dehydrated salt; just don't add water 94d1e11e7ccd09c6c1d14c5c9ea0636bd5a06d24 Plasticizer 0 143 1284 387 2024-02-03T08:01:26Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Plasticizer}}}} ===Barks=== * Plastic is the future! * Please don't recycle * Cheap and durable * Good under pressure 31f41a75160f786bafea4af3b60501123ecb537f Hardmold 0 144 1285 388 2024-02-03T08:01:44Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Hardmold}}}} ===Barks=== * Our plastic is the best * Max pressure! * Watch that cycle time * Bring the energy! e81cd35c1f141367f51d8c86e9a41077fa7d85c8 Wire Coiler 0 146 1286 390 2024-02-03T08:01:58Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Wire Coiler}}}} ===Barks=== * Many uses; one wire * Conserve copper * Mind the volume c4e88b97db7eed04492dfae37effcd6a33e2ed00 Concrete Yard 0 147 1287 391 2024-02-03T08:02:10Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Concrete Yard}}}} ===Barks=== * Concrete is hard work * Let's mix things up * We're good under pressure * Concrete; what cities are made of 47596b20cf3a7861246f55e015d613808ff76d14 Tool Die 0 150 1288 400 2024-02-03T08:02:47Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Tool Die}}}} ===Barks=== * Pressed down and cut to shape * Attending to pressing matters * We make parts of all shapes and sizes * Ouch, that was a sharp edge 1b7c2497c2c5e3df842c9279fbcf1704fbc51c88 Glass Smelter 0 151 1289 401 2024-02-03T08:02:58Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Glass Smelter}}}} ===Barks=== * This is not candy * Do not eat * Transparent or your money back * The edge is sharp 502519c5cd27554ac5e727ca70fd422e1a6ee0b1 Coal Gassifier 0 152 1290 402 2024-02-03T08:03:08Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Coal Gassifier}}}} ===Barks=== * Sorry about the waste * Mind the waste * Not your first choice * Reaction you can rely on 635e525e935e668f845c780ecd47fac3fa2c9ffc Electronics Fab 0 153 1291 403 2024-02-03T08:03:18Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Electronics Fab}}}} ===Barks=== * Quality assurance is on notice * Try turning it off and on * Problem is between keyboard * Careful, Fragile 752122260adb121a0f0a32d99aba9db97a47cf70 Hullyard 0 154 1292 404 2024-02-03T08:03:26Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Hullyard}}}} ===Barks=== * Framing up the walls * Structural integrity * Structure you can rely on * No missing pieces 96bf8a4932a13803ab83beb4aee0a1b836a91345 Neon Refinery 0 155 1293 406 2024-02-03T08:03:37Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Neon Refinery}}}} ===Barks=== * Excuse me * Sorry for the gas * That smell is normal * Keep flame away ===Trivia=== Neon Gas in actuality is extremely non-reactive and is not made using any oil-based processes. 5ea860d5098e5cc05f1327bf1a7386c1a318b16f Booster Plant 0 156 1294 407 2024-02-03T08:03:47Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Booster Plant}}}} ===Barks=== * Give your rockets a boost * We've got our boosters * Quite a kick * No smoking c54a6b2d0b1207531fd723c6454c02e3718ae146 Furniture Assembler 0 157 1295 408 2024-02-03T08:03:58Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Furniture Assembler}}}} ===Barks=== * Safe for sitting * Take a load off * Take a seat * No assembly required 90f66b039699f34a16c2c5e755c31ae185bdd46c Motor Assembly 0 158 1296 409 2024-02-03T08:04:10Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Motor Assembly}}}} ===Barks=== Spinning magnets Magnets, how do they work? Mind the interference Geared to move 9386984ae10bf16c36dd900bde789040e7c9296f 1297 1296 2024-02-03T08:04:29Z Hiroteashi 379511 /* Barks */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Motor Assembly}}}} ===Barks=== * Spinning magnets * Magnets, how do they work? * Mind the interference * Geared to move d06ae7f164c0403e9a7e5f5b068205eef95b2390 Paperclip Stamper 0 159 1298 410 2024-02-03T08:04:44Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Paperclip Stamper}}}} ===Barks=== * Stampity stamp! * Perfect for holding paper * We also make small weak chains * Use two per page ba83653c1c6345f2375fe186a9eb50fe301e9935 Rocket Factory 0 160 1299 411 2024-02-03T08:04:59Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Rocket Factory}}}} ===Barks=== * Stay away down wind * Stay clear of the blast * Hot; no touch * Testing in progress a915fa2737aa38079f502727c797f794291c7725 CPU Fab 0 161 1300 412 2024-02-03T08:05:20Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|CPU Fab}}}} ===Barks=== Want a chip? Once you start you can't stop Do not eat these chips Slicing them thin 898b9097d0ba310c96809bf23b226299f339c21d Signworks 0 162 1301 413 2024-02-03T08:05:29Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Signworks}}}} ===Barks=== * Practice makes perfect * One design, perfected * Go company! * Do not overcharge the neon! 649d3c8a896ad2c3fc1a6072fe3cf7950085364a Luxury Assembler 0 163 1302 414 2024-02-03T08:05:45Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Luxury Assembler}}}} 2d630b13e2562e168ec4267ef8a234635e1d0f67 Tube Plant 0 165 1303 416 2024-02-03T08:06:14Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Tube Plant}}}} ===Barks=== * Watch anything good last night? * Sit back and relax * Forget your worries * What else is there? ===Trivia=== "Tube" was a popular term used to refer to Televisions, beginning at the 1970's 92b520c85bea5d9a1afd9c8540d078b64dccad50 Framer 0 166 1304 417 2024-02-03T08:06:21Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Framer}}}} ===Barks=== * I compute therefore I am * At most five customers * Keep the bugs out * Any bug spray? ===Trivia=== This Industry does do any construction work as it's name would imply. Rather Framer refers to Mainframe production, a intentional lexical oddity. d8984e47e7b9f27df8aefe927fa7bbd2e1045004 Grey Assembly 0 167 1305 418 2024-02-03T08:06:30Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Grey Assembly}}}} ===Barks=== * Keep the lights off * Running dark * Night time is safest * Don't open before midnight ===Trivia=== The Grey Assembly might be a reference to "Grey Goo," a corroding nanomachine mixture that is dangerous and is typically involved in world ending accidents. 16c359eddf869a133a6fd4485c195c03f01d1346 Armory 0 168 1306 420 2024-02-03T08:06:40Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Armory}}}} ===Barks=== * Need an arm? * Don't skip arm day * Every day is arm day * Precision robotics ===Trivia=== The term Armory typically refers to a military storage facility for weapons and ammunition - which this industry is not. Rather Armory refers to Robotic Arm production, an intentional lexical oddity. 240899365a12fbe7f9e9379b76ad2c069c967c37 WorkRocket Platform 0 169 1307 1014 2024-02-03T08:06:51Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|WorkRocket Platform}}}} ===Barks=== * Launching never gets boring! * We'll launch 'em if you bring 'em * Pointy side goes up * Do not tip b02e8c9dbc4cdc8f9f549b8cfb46ae91e7d604ac SpaceLiner Platform 0 170 1308 1015 2024-02-03T08:07:02Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|SpaceLiner Platform}}}} ===Barks=== * Luxury is essential * Stretch your legs * Would you like cheese with that? * Gotta go fast b5759f8af500df0d43e918afb948c6c60e866185 Compute Platform 0 171 1309 423 2024-02-03T08:07:17Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Compute Platform}}}} ===Barks=== * Portable computing is the future * Calculating trajectory * Add up this * Worth any price 9113389f74f6751543c1f6c762930c0ab6c6f469 The Mechanist 0 172 1310 424 2024-02-03T08:07:26Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|The Mechanist}}}} ===Barks=== * I love robots * Aren't they so cute? * Everyone robot made with care * Stay out of traffic! b09369472bad9569aa9ac10279d901b5a5b4c498 Category:Structures 14 9 1311 1200 2024-02-03T08:08:37Z Hiroteashi 379511 /* Industry Tier 5 */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} ==== MegaProjects ==== {{IndustryTableHeader|Special Industries| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Reclamation Engine}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaprojects === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Reclamation Engine|Reclamation Engine (Destroyed and Reconstructed Variants)]] * [[Atmospheric Seeder|The Experimental Atmospheric Seeder and Steam Boilers]] e7c09a422dd1d5ee56c40b7818491a17dd0ca532 1316 1311 2024-02-03T08:14:22Z Hiroteashi 379511 /* Megaprojects */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} ==== MegaProjects ==== {{IndustryTableHeader|Special Industries| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Reclamation Engine}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaproject Construction === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Reclamation Engine|Reclamation Engine (Destroyed and Reconstructed Variants)]] * [[Atmospheric Seeder|The Experimental Atmospheric Seeder and Steam Boilers]] a3661f321ab4dcfc695d6e0e416f241a119f0c0b 1317 1316 2024-02-03T08:14:40Z Hiroteashi 379511 /* MegaProjects */ wikitext text/x-wiki == Overview == === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} ==== MegaProjects ==== {{IndustryTableHeader|Special Industries| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}} {{IndustryDataParser|Reclamation Engine}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaproject Construction === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Reclamation Engine|Reclamation Engine (Destroyed and Reconstructed Variants)]] * [[Atmospheric Seeder|The Experimental Atmospheric Seeder and Steam Boilers]] 4c44f89a2e89c1a686bfc85a70ec31fd799d84d3 1338 1317 2024-02-05T22:59:22Z Hiroteashi 379511 wikitext text/x-wiki == Overview == [[Category:Categories]] === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} ==== MegaProjects ==== {{IndustryTableHeader|Special Industries| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}} {{IndustryDataParser|Reclamation Engine}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaproject Construction === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Reclamation Engine|Reclamation Engine (Destroyed and Reconstructed Variants)]] * [[Atmospheric Seeder|The Experimental Atmospheric Seeder and Steam Boilers]] 6f840cbb71d5dbe23ba2499299eaa5eac01fe0a9 Template:IndustryDetail 10 75 1312 1060 2024-02-03T08:10:39Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || <div class="aligncenter">{{{cost|0}}}</div> || <div class="aligncenter">{{{workers|0}}}</div> || <div class="aligncenter">{{{recipeTime|16}}} </div> || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | <div class="aligncenter">∅</div> }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | <div class="aligncenter">∅</div> }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || <div class="aligncenter">{{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }}</div><hr/></includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} {{IndustryDataParser|Coal Mine}} }} <pre> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> 8175ce7361d669415bcd793ba4649aa45fdb53d0 1313 1312 2024-02-03T08:11:04Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>|- | {{ItemLarge|{{{name|Water}}}}} || <div class="aligncenter">{{{cost|0}}}</div> || <div class="aligncenter">{{{workers|0}}}</div> || <div class="aligncenter">{{{recipeTime|16}}} </div> || {{#if: {{{in1|}}} | {{{in1Ct|0}}}x&nbsp;{{Item|{{{in1}}}}} | <div class="aligncenter">∅</div> }}{{#if: {{{in2|}}} | <br /> {{{in2Ct|0}}}x&nbsp;{{Item|{{{in2}}}}} | }}{{#if: {{{in3|}}} | <br /> {{{in3Ct|0}}}x&nbsp;{{Item|{{{in3}}}}} | }}{{#if: {{{in4|}}} | <br /> {{{in4Ct|0}}}x&nbsp;{{Item|{{{in4}}}}} | }} || {{#if: {{{out1|}}} | {{{out1Ct|0}}}x&nbsp;{{Item|{{{out1}}}}} | <div class="aligncenter">∅</div> }}{{#if: {{{out2|}}} | <br /> {{{out2Ct|0}}}x&nbsp;{{Item|{{{out2}}}}} | }}{{#if: {{{out3|}}} | <br /> {{{out3Ct|0}}}x&nbsp;{{Item|{{{out3}}}}} | }}{{#if: {{{out4|}}} | <br /> {{{out4Ct|0}}}x&nbsp;{{Item|{{{out4}}}}} | }} || <div class="aligncenter">{{#if: {{{catalyst|}}} | {{Item|{{{catalyst|}}}}} | }}</div></includeonly><noinclude> [[category:templates]] {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} {{IndustryDataParser|Coal Mine}} }} <pre> {{IndustryDetail| name = Water Pump | cost = 1024 | catalyst = Energy | recipeTime = 16 | in1 = Water | in1Ct = 2 | in2 = Appliances | in2Ct = 3 | in4 = Concrete | in4Ct = 50 | out1 = Concrete| out1Ct = 1 | out2 = water | out2Ct = 3}} }}</pre> Used to format data coming from [[Module:IndustryDataParser]]. Never to be called on directly. </noinclude> e88c9725699c02cf776988a7f998dd6145e9ffa6 Template:IndustryTableHeader 10 66 1314 1196 2024-02-03T08:11:21Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable cargoTable noMerge sortable customTable" |+ {{{1}}} |- ! rowspan="2" class="customTableHeader"|Name !! rowspan="2" class="customTableHeader"|Price (¥) !! rowspan="2" class="customTableHeader"|Max Workers !! rowspan="2" class="customTableHeader"|Recipe Time (s) !! colspan="2" class="unsortable customTableHeader"|Recipe !! rowspan="2" class="customTableHeader"|Catalyst |- ! class="unsortable customTableHeader"|Input !! class="unsortable customTableHeader"|Output {{{2}}} |}<hr/></includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry|{{IndustryDataParser|Water Pump}}}} <pre> {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDataParser|Water Pump}} }} </pre> </noinclude> 5964be9031ca4b67e6fca6abfe0d995743849bb7 1315 1314 2024-02-03T08:12:37Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>{| class="wikitable cargoTable noMerge sortable customTable" |+ {{{1}}} |- ! rowspan="2" class="customTableHeader"|Name !! rowspan="2" class="customTableHeader"|Price (¥) !! rowspan="2" class="customTableHeader"|Max Workers !! rowspan="2" class="customTableHeader"|Recipe Time (s) !! colspan="2" class="unsortable customTableHeader"|Recipe !! rowspan="2" class="customTableHeader"|Catalyst |- ! class="unsortable customTableHeader"|Input !! class="unsortable customTableHeader"|Output {{{2}}} |}<hr style="margin-bottom:2em" /></includeonly><noinclude> [[category:templates]] {| class="wikitable sortable" {{IndustryTableHeader|Resource Extraction Industry|{{IndustryDataParser|Water Pump}}}} <pre> {{IndustryTableHeader|Resource Extraction Industry |{{IndustryDataParser|Water Pump}} }} </pre> </noinclude> 5a826cbf6ed628cf9fdf1e7cf5187a839e1e6eda Steam Boiler 0 341 1318 2024-02-03T08:15:46Z Hiroteashi 379511 Redirected page to [[Atmospheric Seeder]] wikitext text/x-wiki #REDIRECT [[Atmospheric Seeder]] af0f4695efbb6180236d353aaccadf6e2da3adb2 Category:Trains 14 8 1319 1195 2024-02-05T19:38:35Z Hiroteashi 379511 /* Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the beating heart of your [[:category:industries]]. They are what can haul around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. However, multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Shop|Voucher Purchase]] |} 74b152b352acd144e44807b3db8bf75a28b9ee3a 1320 1319 2024-02-05T19:40:17Z Hiroteashi 379511 /* Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the lifeblood of your [[:category:strucutres|industrial network]]. They are the only method for hauling around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. Multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Shop|Voucher Purchase]] |} bb515a119c3aada9878e87534b80fed7b8c86a99 1321 1320 2024-02-05T19:40:43Z Hiroteashi 379511 /* Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the lifeblood of your [[:category:structures|industrial network]]. They are the only method for hauling around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. Multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Shop|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Shop|Voucher Purchase]] |} a78c91ed12b64ae4a9af49614350ee4f95e613b4 Module:Industry/Data 828 303 1322 1244 2024-02-05T19:41:41Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 9, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {"Ø"}, outputCounts = {1} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p 4274d0625a23cb1fe8d0ab099b1485de237cd38d 1336 1322 2024-02-05T22:55:26Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 9, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p 93b81d30ac5ba1a29f80b3da935d3f7b0be6c2a4 1337 1336 2024-02-05T22:57:53Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {1,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 9, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {}, outputCounts = {} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p 4640463ad8793b971edc22173df7c70bcf99bdcd Railgrade Wiki 0 1 1323 692 2024-02-05T19:44:23Z Hiroteashi 379511 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ __NOTITLE__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official <em>{{SITENAME}}</em></h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Railgrade</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Railgrade]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. * '''Join our Community:''' Our [https://discord.gg/RqtFYjQ7 Discord] server is open! <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] 7bfdab4a43e6d8e30c22658cd518024b2bb1d480 1324 1323 2024-02-05T20:20:19Z Hiroteashi 379511 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ __NOTITLE__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official <em>{{SITENAME}}</em></h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --><p>Join our Community on [https://discord.gg/RqtFYjQ7 Discord]!</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Railgrade</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Railgrade]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains. <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] 820b65a017386263e70983dabb3158641f4f0626 File:City.png 6 342 1325 2024-02-05T20:45:46Z Hiroteashi 379511 Placeable City Hub wikitext text/x-wiki == Summary == Placeable City Hub 1709dfc56d4dec4d0a42320dcf66f602911ba8b8 City 0 343 1326 2024-02-05T21:50:13Z Hiroteashi 379511 Created page with "==City== [[category:structures]] {{ItemLarge|City}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, th..." wikitext text/x-wiki ==City== [[category:structures]] {{ItemLarge|City}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. Each tier of demand has a stockpile where it can store Freight until it gets consumed by a growth cycle. The size of the stockpile is <pre>Stockpile Size = max(5 * Demand Quanity, 16)</pre>. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Population Increase per Growth Cycle !! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || 55 || 1 || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || 128 || 2 || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || 256|| 4 || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || 512 || 8 || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || 1024 || 4 || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war 6452ddec80332f9171a00e6280649b160705e0c5 1327 1326 2024-02-05T21:53:26Z Hiroteashi 379511 /* City Freight Deliveries */ wikitext text/x-wiki ==City== [[category:structures]] {{ItemLarge|City}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Each tier of demand has a stockpile where it can store Freight until it gets consumed. The size of the stockpile is <pre>Stockpile Size = max(5 * Demand Quanity, 16)</pre>. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Population Increase per Growth Cycle !! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || 55 || 1 || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || 128 || 2 || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || 256|| 4 || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || 512 || 8 || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || 1024 || 4 || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war 391e4b5e0fc9628d0dea1b6bce1eefa21fd9572f 1328 1327 2024-02-05T21:54:39Z Hiroteashi 379511 /* City Freight Deliveries */ wikitext text/x-wiki ==City== [[category:structures]] {{ItemLarge|City}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Each tier of demand has a stockpile where it can store Freight until it gets consumed. The size of the stockpile is determined by the following: <code>Stockpile Size = max(5 * Demand Quanity, 16)</code>. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Population Increase per Growth Cycle !! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || 55 || 1 || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || 128 || 2 || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || 256|| 4 || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || 512 || 8 || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || 1024 || 4 || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war b9c7e21b11dda1617f4a9849554e9a6108a52924 1329 1328 2024-02-05T21:58:45Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==City== [[category:structures]] {{ItemLarge|City}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Each tier of demand has a stockpile where it can store Freight until it gets consumed. The size of the stockpile is determined by the following: <code>Stockpile Size = max(5 * Demand Quanity, 16)</code>. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Pop Increase per Cycle!! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || <div class="aligncenter">55</div> || </div>1</div> || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || <div class="aligncenter">128</div> || <div class="aligncenter">2</div> || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || <div class="aligncenter">256</div> || <div class="aligncenter">4</div> || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || <div class="aligncenter">512</div> || <div class="aligncenter">8</div> || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || <div class="aligncenter">1024</div> || <div class="aligncenter">4</div> || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war eff39bba1962bb089289fd6e7fc3b63826e9590f 1330 1329 2024-02-05T21:59:04Z Hiroteashi 379511 wikitext text/x-wiki ==City== [[category:structures]] {{ItemLarge|City}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Each tier of demand has a stockpile where it can store Freight until it gets consumed. The size of the stockpile is determined by the following: <code>Stockpile Size = max(5 * Demand Quanity, 16)</code>. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Pop Increase per Cycle!! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || <div class="aligncenter">55</div> || </div>1</div> || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || <div class="aligncenter">128</div> || <div class="aligncenter">2</div> || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || <div class="aligncenter">256</div> || <div class="aligncenter">4</div> || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || <div class="aligncenter">512</div> || <div class="aligncenter">8</div> || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || <div class="aligncenter">1024</div> || <div class="aligncenter">4</div> || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war 44b721c0fc8a325f87ea92f9db7bf0cb74ca19ab 1331 1330 2024-02-05T21:59:44Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==City== [[category:structures]] {{ItemLarge|City}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Each tier of demand has a stockpile where it can store Freight until it gets consumed. The size of the stockpile is determined by the following: <code>Stockpile Size = max(5 * Demand Quanity, 16)</code>. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Pop Increase per Cycle!! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || <div class="aligncenter">55</div> || <div class="aligncenter">1</div> || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || <div class="aligncenter">128</div> || <div class="aligncenter">2</div> || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || <div class="aligncenter">256</div> || <div class="aligncenter">4</div> || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || <div class="aligncenter">512</div> || <div class="aligncenter">8</div> || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || <div class="aligncenter">1024</div> || <div class="aligncenter">4</div> || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war 9b9bc6679ead94b458a7cada9d97f30f1e82b63d 1333 1331 2024-02-05T22:50:14Z Hiroteashi 379511 wikitext text/x-wiki ==City== [[category:structures]] {{StructureInfoBox|name=City|cost=65,536|Length=1|Width=1}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Each tier of demand has a stockpile where it can store Freight until it gets consumed. The size of the stockpile is determined by the following: <code>Stockpile Size = max(5 * Demand Quanity, 16)</code>. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Pop Increase per Cycle!! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || <div class="aligncenter">55</div> || <div class="aligncenter">1</div> || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || <div class="aligncenter">128</div> || <div class="aligncenter">2</div> || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || <div class="aligncenter">256</div> || <div class="aligncenter">4</div> || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || <div class="aligncenter">512</div> || <div class="aligncenter">8</div> || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || <div class="aligncenter">1024</div> || <div class="aligncenter">4</div> || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war b5fd003865128a46e22c537160c17e1635521d64 Template:StructureInfoBox 10 344 1332 2024-02-05T22:50:04Z Hiroteashi 379511 Created page with "<includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:City.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY }} |- | class="customTableData"|Tile Dimensions|| {{{Length}}} x {{{Width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData" colspan=2{{!}..." wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:City.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY }} |- | class="customTableData"|Tile Dimensions|| {{{Length}}} x {{{Width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData" colspan=2{{!}}MegaProject Freight Requirements {{!}}- {{!}} {{{requirements}}} }} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|Length=1|Width=1}} <nowiki>The code {{lc:{{#replace:{{{1}}}| |-}}}} is a combination of two MediaWiki parser functions: #replace function: This function is used to replace occurrences of a specified substring with another substring. In this case, it replaces spaces (| |-) with an empty string (""). The syntax is {{#replace:string|search|replace}}. lc function: This function is used to convert a string to lowercase. The syntax is {{lc:string}}.</nowiki> <pre>{{StructureInfoBox |name=City|cost=65,536|Length=1|Width=1 |requirements= 512 {{item|concrete}} 256 {{item|glass}} 128 {{item|CPU}} }}</pre> <nowiki>So, when you put it all together, {{lc:{{#replace:{{{1}}}| |-}}}} performs the following steps: Takes the value of the parameter {{{1}}}. Replaces spaces with an empty string. Converts the resulting string to lowercase. This is often used for creating CSS class names based on the value of a parameter ({{{1}}} in this case) with spaces replaced by nothing and everything converted to lowercase. It's a common pattern for creating consistent class names in web development.</nowiki></noinclude> 028b2c4884605ad8712df9ff3b550de95a5a0150 1334 1332 2024-02-05T22:51:10Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:City.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY }} |- | class="customTableData"|Tile Dimensions|| {{{Length}}} x {{{Width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData" colspan=2{{!}}MegaProject Freight Requirements {{!}}- {{!}} {{{requirements}}} }} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|Length=1|Width=1 |requirements= 512 {{item|concrete}} 256 {{item|glass}} 128 {{item|CPU}}}} <nowiki>The code {{lc:{{#replace:{{{1}}}| |-}}}} is a combination of two MediaWiki parser functions: #replace function: This function is used to replace occurrences of a specified substring with another substring. In this case, it replaces spaces (| |-) with an empty string (""). The syntax is {{#replace:string|search|replace}}. lc function: This function is used to convert a string to lowercase. The syntax is {{lc:string}}.</nowiki> <pre>{{StructureInfoBox |name=City|cost=65,536|Length=1|Width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br /> }}</pre> <nowiki>So, when you put it all together, {{lc:{{#replace:{{{1}}}| |-}}}} performs the following steps: Takes the value of the parameter {{{1}}}. Replaces spaces with an empty string. Converts the resulting string to lowercase. This is often used for creating CSS class names based on the value of a parameter ({{{1}}} in this case) with spaces replaced by nothing and everything converted to lowercase. It's a common pattern for creating consistent class names in web development.</nowiki></noinclude> 6757b92954a0acd09e054223391ab79c4f1be373 1335 1334 2024-02-05T22:54:16Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:City.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY}} |- | class="customTableData"|Tile Dimensions|| {{{Length}}} x {{{Width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData"{{!}}MegaProject Freight<br/>Requirements {{!}}{{!}} {{{requirements}}}}} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|Length=1|Width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br />}} <nowiki>The code {{lc:{{#replace:{{{1}}}| |-}}}} is a combination of two MediaWiki parser functions: #replace function: This function is used to replace occurrences of a specified substring with another substring. In this case, it replaces spaces (| |-) with an empty string (""). The syntax is {{#replace:string|search|replace}}. lc function: This function is used to convert a string to lowercase. The syntax is {{lc:string}}.</nowiki> <pre>{{StructureInfoBox |name=City|cost=65,536|Length=1|Width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br /> }}</pre> <nowiki>So, when you put it all together, {{lc:{{#replace:{{{1}}}| |-}}}} performs the following steps: Takes the value of the parameter {{{1}}}. Replaces spaces with an empty string. Converts the resulting string to lowercase. This is often used for creating CSS class names based on the value of a parameter ({{{1}}} in this case) with spaces replaced by nothing and everything converted to lowercase. It's a common pattern for creating consistent class names in web development.</nowiki></noinclude> 0c147352aee58a1349d314aa80266f7c430e1cc0 1339 1335 2024-02-05T23:16:30Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:City.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY}} |- | class="customTableData"|Tile Dimensions|| {{{length}}} x {{{width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData"{{!}}MegaProject Freight<br/>Requirements {{!}}{{!}} {{{requirements}}}}} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br />}} <nowiki>The code {{lc:{{#replace:{{{1}}}| |-}}}} is a combination of two MediaWiki parser functions: #replace function: This function is used to replace occurrences of a specified substring with another substring. In this case, it replaces spaces (| |-) with an empty string (""). The syntax is {{#replace:string|search|replace}}. lc function: This function is used to convert a string to lowercase. The syntax is {{lc:string}}.</nowiki> <pre>{{StructureInfoBox |name=City|cost=65,536|Length=1|Width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br /> }}</pre> <nowiki>So, when you put it all together, {{lc:{{#replace:{{{1}}}| |-}}}} performs the following steps: Takes the value of the parameter {{{1}}}. Replaces spaces with an empty string. Converts the resulting string to lowercase. This is often used for creating CSS class names based on the value of a parameter ({{{1}}} in this case) with spaces replaced by nothing and everything converted to lowercase. It's a common pattern for creating consistent class names in web development.</nowiki></noinclude> c11b0bc96afd790f0ee77feeeb3839d707035113 1340 1339 2024-02-05T23:16:55Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY}} |- | class="customTableData"|Tile Dimensions|| {{{length}}} x {{{width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData"{{!}}MegaProject Freight<br/>Requirements {{!}}{{!}} {{{requirements}}}}} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br />}} <nowiki>The code {{lc:{{#replace:{{{1}}}| |-}}}} is a combination of two MediaWiki parser functions: #replace function: This function is used to replace occurrences of a specified substring with another substring. In this case, it replaces spaces (| |-) with an empty string (""). The syntax is {{#replace:string|search|replace}}. lc function: This function is used to convert a string to lowercase. The syntax is {{lc:string}}.</nowiki> <pre>{{StructureInfoBox |name=City|cost=65,536|Length=1|Width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br /> }}</pre> <nowiki>So, when you put it all together, {{lc:{{#replace:{{{1}}}| |-}}}} performs the following steps: Takes the value of the parameter {{{1}}}. Replaces spaces with an empty string. Converts the resulting string to lowercase. This is often used for creating CSS class names based on the value of a parameter ({{{1}}} in this case) with spaces replaced by nothing and everything converted to lowercase. It's a common pattern for creating consistent class names in web development.</nowiki></noinclude> c73aca239f2656d700c88dcfb8f910246b80d916 1351 1340 2024-02-06T00:42:59Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY}} |- | class="customTableData"|Tile Dimensions|| {{{length}}} x {{{width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData"{{!}}MegaProject Freight<br/>Requirements {{!}}{{!}} {{{requirements}}}}} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br />}} <nowiki>The code {{lc:{{#replace:{{{1}}}| |-}}}} is a combination of two MediaWiki parser functions: #replace function: This function is used to replace occurrences of a specified substring with another substring. In this case, it replaces spaces (| |-) with an empty string (""). The syntax is {{#replace:string|search|replace}}. lc function: This function is used to convert a string to lowercase. The syntax is {{lc:string}}.</nowiki> <pre>{{StructureInfoBox |name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br /> }}</pre> <nowiki>So, when you put it all together, {{lc:{{#replace:{{{1}}}| |-}}}} performs the following steps: Takes the value of the parameter {{{1}}}. Replaces spaces with an empty string. Converts the resulting string to lowercase. This is often used for creating CSS class names based on the value of a parameter ({{{1}}} in this case) with spaces replaced by nothing and everything converted to lowercase. It's a common pattern for creating consistent class names in web development.</nowiki></noinclude> 20a9ce67166334be58a68f010547ce4ece7e7cff Atmospheric Seeder 0 345 1341 2024-02-05T23:47:00Z Hiroteashi 379511 Created page with "==Info== [[Category:structures]] {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seed..." wikitext text/x-wiki ==Info== [[Category:structures]] {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seeder," and is sometimes abbreviated as TEAS in text logs. It was originally designed to use deep ground water to generate Clouds for the purposes of increasing precipitation and ultimately climaforming the desert region into as less extreme biome. ===MegaProject Version=== The Atmospheric Seeder is the set piece of [[Dusty with a Chance of Rain]] where the player has to deliver construction materials to the worksite. Upon completion, the structure began belching clouds of toxic purple mist, putting the TEAS Project on hiatus until the the solution of the problem is found. ===Industry Version=== The functional Atmospheric Seeder is a extremely high throughput Industry featured in [[Brewing Up a Storm]]. Because of its short production time the Industry requires constant deliveries of Steam Tanks to remain functional. To provide the needed Steam, the region includes 3 preplaced '''Steam Boilers''', an industry that is also unique to the region. {{IndustryTableHeader|TEAS and Adjacent| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}}}} ====Trivia==== The blight that infects the completed Megaproject version of the Structure is a nod to the Blightrot in the game [https://store.steampowered.com/app/1336490/Against_the_Storm/ Against the Storm]. 41cc525f7d30ad6eff1d3d3f78d6ddbd6957aa97 1342 1341 2024-02-05T23:47:18Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki ==Info== [[Category:structures]] {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seeder," and is sometimes abbreviated as TEAS in text logs. It was originally designed to use deep ground water to generate Clouds for the purposes of increasing precipitation and ultimately climaforming the desert region into as less extreme biome. ===MegaProject Version=== The Atmospheric Seeder is the set piece of [[Dusty with a Chance of Rain]] where the player has to deliver construction materials to the worksite. Upon completion, the structure began belching clouds of toxic purple mist, putting the TEAS Project on hiatus until the the solution of the problem is found. ===Industry Version=== The functional Atmospheric Seeder is a extremely high throughput Industry featured in [[Brewing Up a Storm]]. Because of its short production time the Industry requires constant deliveries of Steam Tanks to remain functional. To provide the needed Steam, the region includes 3 preplaced '''Steam Boilers''', an industry that is also unique to the region. {{IndustryTableHeader|TEAS and Adjacent| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}}}} ===Trivia=== The blight that infects the completed Megaproject version of the Structure is a nod to the Blightrot in the game [https://store.steampowered.com/app/1336490/Against_the_Storm/ Against the Storm]. 21cce436e4c4f677fc59ee9cee124cd09ca2f3b8 1343 1342 2024-02-05T23:53:17Z Hiroteashi 379511 /* Industry Version */ wikitext text/x-wiki ==Info== [[Category:structures]] {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seeder," and is sometimes abbreviated as TEAS in text logs. It was originally designed to use deep ground water to generate Clouds for the purposes of increasing precipitation and ultimately climaforming the desert region into as less extreme biome. ===MegaProject Version=== The Atmospheric Seeder is the set piece of [[Dusty with a Chance of Rain]] where the player has to deliver construction materials to the worksite. Upon completion, the structure began belching clouds of toxic purple mist, putting the TEAS Project on hiatus until the the solution of the problem is found. ===Industry Version=== The functional Atmospheric Seeder is a extremely high throughput Industry featured in [[Brewing Up a Storm]]. Because of its short production time the Industry requires constant deliveries of {{item|Steam Tank}} to remain functional. To provide the needed Steam, the region includes 3 preplaced '''Steam Boilers''', an industry that is also unique to the region. Players will have to upgrade them heavily to keep up with the demands of the TEAS One must also wonder about the long term effects that the additives {{item|Assembra}} and {{item|Solvent}} might have on the region. {{IndustryTableHeader|TEAS and Adjacent Industry| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}}}} ===Trivia=== The blight that infects the completed Megaproject version of the Structure is a nod to the Blightrot in the game [https://store.steampowered.com/app/1336490/Against_the_Storm/ Against the Storm]. f4e1bfcdaecda49feca1511fb8564099da5ca178 1344 1343 2024-02-05T23:54:07Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki ==Info== [[Category:structures]] {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seeder," and is sometimes abbreviated as TEAS in text logs. It was originally designed to use deep ground water to generate Clouds for the purposes of increasing precipitation and ultimately climaforming the desert region into as less extreme biome. ===MegaProject Version=== The Atmospheric Seeder is the set piece of [[Dusty with a Chance of Rain]] where the player has to deliver construction materials to the worksite. Upon completion, the structure began belching clouds of toxic purple mist, putting the TEAS Project on hiatus until the the solution of the problem is found. ===Industry Version=== The functional Atmospheric Seeder is a extremely high throughput Industry featured in [[Brewing Up a Storm]]. Because of its short production time the Industry requires constant deliveries of {{item|Steam Tank}} to remain functional. To provide the needed Steam, the region includes 3 preplaced '''Steam Boilers''', an industry that is also unique to the region. Players will have to upgrade them heavily to keep up with the demands of the TEAS One must also wonder about the long term effects that the additives {{item|Assembra}} and {{item|Solvent}} might have on the region. {{IndustryTableHeader|TEAS and Adjacent Industry| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}}}} ===Trivia=== The blight that infects the completed Megaproject version of the Structure is a nod to the Blightrot in the game [https://store.steampowered.com/app/1336490/Against_the_Storm/ Against the Storm]. Perhaps the Assembra might have some negative effect on the storm the TEAS generates. 97107189d387d3b721ef20731b3c2e6bf71b4c59 1345 1344 2024-02-05T23:54:34Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki ==Info== [[Category:structures]] {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seeder," and is sometimes abbreviated as TEAS in text logs. It was originally designed to use deep ground water to generate Clouds for the purposes of increasing precipitation and ultimately climaforming the desert region into as less extreme biome. ===MegaProject Version=== The Atmospheric Seeder is the set piece of [[Dusty with a Chance of Rain]] where the player has to deliver construction materials to the worksite. Upon completion, the structure began belching clouds of toxic purple mist, putting the TEAS Project on hiatus until the the solution of the problem is found. ===Industry Version=== The functional Atmospheric Seeder is a extremely high throughput Industry featured in [[Brewing Up a Storm]]. Because of its short production time the Industry requires constant deliveries of {{item|Steam Tank}} to remain functional. To provide the needed Steam, the region includes 3 preplaced '''Steam Boilers''', an industry that is also unique to the region. Players will have to upgrade them heavily to keep up with the demands of the TEAS One must also wonder about the long term effects that the additives {{item|Assembra}} and {{item|Solvent}} might have on the region. {{IndustryTableHeader|TEAS and Adjacent Industry| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}}}} ===Trivia=== The blight that infects the completed Megaproject version of the Structure is a nod to the Blightrot in the game [https://store.steampowered.com/app/1336490/Against_the_Storm/ Against the Storm]. Perhaps the Assembra might have some negative effect on the Storm the TEAS generates... 8f8455853f9103591d87b76be491bdaa0be93536 Reclamation Engine 0 346 1346 2024-02-06T00:31:59Z Hiroteashi 379511 Created page with "==Info== [[Category:structures]] {{StructureInfoBox|name=Reclamation Engine|length=7|width=4 |requirements= 512x {{item|Wire}}<br /> 1024x {{item|PaperClips}}<br /> 128x {{item|Heavy Tools}}<br /> 64x {{item|RobotArm}} }} The Reclamation Engine refers to two different entities, one being the construction MegaProject and the other one being the functional restored version. The Engine was originally found by tracking down a transmission signal that was injecting techni..." wikitext text/x-wiki ==Info== [[Category:structures]] {{StructureInfoBox|name=Reclamation Engine|length=7|width=4 |requirements= 512x {{item|Wire}}<br /> 1024x {{item|PaperClips}}<br /> 128x {{item|Heavy Tools}}<br /> 64x {{item|RobotArm}} }} The Reclamation Engine refers to two different entities, one being the construction MegaProject and the other one being the functional restored version. The Engine was originally found by tracking down a transmission signal that was injecting technical requests into the players console. Upon its discovery, the AI controlling the Engine offered the player's company its profits if they were to restore. An analysis report indicated that The Engine uses a surprisingly large number of {{Item|PaperClips}} in its construction. Once restored, the Engine leads the player into a region with an abandoned city where it begins salvaging the building and reprocessing them into raw materials, requesting the player's company to invest it all into the production of paperclips. Once the quota is reached, the AI decided that the deal has been complete and kicks the player out of the the region as it has reached a state of self sufficiency. ===MegaProject Version=== The Destroyed Reclamation Engine is the set piece of [[Clipped Wings]] where the player has to deliver construction materials to the worksite. ===Industry Version=== The Restored Reclamation Engine is the center piece of [[Incremental Maximizer]]. It requires few resources to run and generate a large amount of raw resources for the player to utilize. However the Reclamation Engine will not initiate another production cycle if its stockpiles are too full. Making sure the hoppers remain empty and utilizing the production outputs in a balanced manner is the main challenge in keeping the Engine operating. {{IndustryTableHeader|Restored| {{IndustryDataParser|Reclamation Engine}} }} ===Trivia=== The whole paperclip focus of the Reclamation Engine was inspired by the incremental game, [https://www.decisionproblem.com/paperclips/ Universal Paperclips]. The game puts players in a position where they are an AI with the directive to make paperclips and to what lengths that single instruction will go at the detriment of the world and space around it. The Destroyed Reclamation Engine is found in a massive crater. It was most likely destroyed in a violent event, be it crashing in from space or demolished by an exceptionally large explosion. This is further enforced by the region name 'Clipped Wings'. 6873dd49b15042581bc2d3ced1de7a61fa54ee98 1347 1346 2024-02-06T00:32:19Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki ==Info== [[Category:structures]] {{StructureInfoBox|name=Reclamation Engine|length=7|width=4 |requirements= 512x {{item|Wire}}<br /> 1024x {{item|PaperClips}}<br /> 128x {{item|Heavy Tools}}<br /> 64x {{item|RobotArm}} }} The Reclamation Engine refers to two different entities, one being the construction MegaProject and the other one being the functional restored version. The Engine was originally found by tracking down a transmission signal that was injecting technical requests into the players console. Upon its discovery, the AI controlling the Engine offered the player's company its profits if they were to restore. An analysis report indicated that The Engine uses a surprisingly large number of {{Item|PaperClips}} in its construction. Once restored, the Engine leads the player into a region with an abandoned city where it begins salvaging the building and reprocessing them into raw materials, requesting the player's company to invest it all into the production of paperclips. Once the quota is reached, the AI decided that the deal has been complete and kicks the player out of the the region as it has reached a state of self sufficiency. ===MegaProject Version=== The Destroyed Reclamation Engine is the set piece of [[Clipped Wings]] where the player has to deliver construction materials to the worksite. ===Industry Version=== The Restored Reclamation Engine is the center piece of [[Incremental Maximizer]]. It requires few resources to run and generate a large amount of raw resources for the player to utilize. However the Reclamation Engine will not initiate another production cycle if its stockpiles are too full. Making sure the hoppers remain empty and utilizing the production outputs in a balanced manner is the main challenge in keeping the Engine operating. {{IndustryTableHeader|Restored| {{IndustryDataParser|Reclamation Engine}} }} ===Trivia=== * The whole paperclip focus of the Reclamation Engine was inspired by the incremental game, [https://www.decisionproblem.com/paperclips/ Universal Paperclips]. The game puts players in a position where they are an AI with the directive to make paperclips and to what lengths that single instruction will go at the detriment of the world and space around it. * The Destroyed Reclamation Engine is found in a massive crater. It was most likely destroyed in a violent event, be it crashing in from space or demolished by an exceptionally large explosion. This is further enforced by the region name 'Clipped Wings'. b1130edb02305260417b41cde4d0dc4f5ebf7165 1348 1347 2024-02-06T00:32:42Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:structures]] {{StructureInfoBox|name=Reclamation Engine|length=7|width=4 |requirements= 512x {{item|Wire}}<br /> 1024x {{item|PaperClips}}<br /> 128x {{item|Heavy Tools}}<br /> 64x {{item|RobotArm}} }} The Reclamation Engine refers to two different entities, one being the construction MegaProject and the other one being the functional restored version. The Engine was originally found by tracking down a transmission signal that was injecting technical requests into the players console. Upon its discovery, the AI controlling the Engine offered the player's company its profits if they were to restore. An analysis report indicated that The Engine uses a surprisingly large number of {{Item|PaperClips}} in its construction. Once restored, the Engine leads the player into a region with an abandoned city where it begins salvaging the building and reprocessing them into raw materials, requesting the player's company to invest it all into the production of paperclips. Once the quota is reached, the AI decided that the deal has been complete and kicks the player out of the the region as it has reached a state of self sufficiency. ===MegaProject Version=== The Destroyed Reclamation Engine is the set piece of [[Clipped Wings]] where the player has to deliver construction materials to the worksite. ===Industry Version=== The Restored Reclamation Engine is the center piece of [[Incremental Maximizer]]. It requires few resources to run and generate a large amount of raw resources for the player to utilize. However the Reclamation Engine will not initiate another production cycle if its stockpiles are too full. Making sure the hoppers remain empty and utilizing the production outputs in a balanced manner is the main challenge in keeping the Engine operating. {{IndustryTableHeader|Restored| {{IndustryDataParser|Reclamation Engine}} }} ===Trivia=== * The whole paperclip focus of the Reclamation Engine was inspired by the incremental game, [https://www.decisionproblem.com/paperclips/ Universal Paperclips]. The game puts players in a position where they are an AI with the directive to make paperclips and to what lengths that single instruction will go at the detriment of the world and space around it. * The Destroyed Reclamation Engine is found in a massive crater. It was most likely destroyed in a violent event, be it crashing in from space or demolished by an exceptionally large explosion. This is further enforced by the region name 'Clipped Wings'. e9c075216d0c889c4b6cf6151d475bad5d52e6c0 Voucher Exchange 0 73 1349 208 2024-02-06T00:42:36Z Hiroteashi 379511 wikitext text/x-wiki ==Voucher Exchange== {{StructureInfoBox|name=Voucher Exchange|Length=2|Width=2}} [[Category:Structures]] The Voucher Exchange is a campaign only structure that comes pre-placed on the map. This is the location where the player spends their Vouchers gained from earning ranks in the [[:category:missions|story campaign]]. Every purchase at the Voucher Exchange is permanent and the unlocked licenses will carry over from region to region. The Voucher Exchange offers licenses for the utilization of: [[category:engines]], [[category:structures|Industries]], Industry upgrades, [[Music]], and a few other miscellaneous upgrades for the player. 0c3e9f76dc2504020990daffa81f1374a59aae5b 1350 1349 2024-02-06T00:42:47Z Hiroteashi 379511 wikitext text/x-wiki ==Voucher Exchange== {{StructureInfoBox|name=Voucher Exchange|length=2|width=2}} [[Category:Structures]] The Voucher Exchange is a campaign only structure that comes pre-placed on the map. This is the location where the player spends their Vouchers gained from earning ranks in the [[:category:missions|story campaign]]. Every purchase at the Voucher Exchange is permanent and the unlocked licenses will carry over from region to region. The Voucher Exchange offers licenses for the utilization of: [[category:engines]], [[category:structures|Industries]], Industry upgrades, [[Music]], and a few other miscellaneous upgrades for the player. 54d3582ccbb33aa645be3f4ec00691c77029056a Voucher Exchange 0 73 1352 1350 2024-02-06T00:43:52Z Hiroteashi 379511 wikitext text/x-wiki ==Voucher Exchange== {{StructureInfoBox|name=Voucher Exchange|length=2|width=2}} [[Category:Structures]] The Voucher Exchange is a campaign only structure that comes pre-placed on the map. This is the location where the player spends their Vouchers gained from earning ranks in the [[:category:missions|story campaign]]. Every purchase at the Voucher Exchange is permanent and the unlocked licenses will carry over from region to region. The Voucher Exchange offers licenses for the utilization of: [[category:Trains]], [[category:structures|Industries]], Industry upgrades, [[Music]], and a few other miscellaneous upgrades for the player. a06c8460b3f95b55722e613d5d9c60323aad942d 1355 1352 2024-02-06T01:55:58Z Hiroteashi 379511 wikitext text/x-wiki ==Voucher Exchange== {{StructureInfoBox|name=Voucher Exchange|length=2|width=2}} [[Category:Structures]] The Voucher Exchange is a campaign only structure that comes pre-placed on the map. This is the location where the player spends their Vouchers gained from earning ranks in the [[:category:missions|story campaign]]. While the shop selection is limited at the start of the campaign, more purchases will unlock in pace with the player's progression through the campaign's main story-line. Every purchase at the Voucher Exchange is permanent and the unlocked licenses will carry over from region to region. The Voucher Exchange offers licenses for the utilization of: [[category:Trains]], [[category:structures|Industries]], Industry upgrades, [[Music]], and a few other miscellaneous upgrades for the player. &nbsp;|| {| class="wikitable cargoTable noMerge customTable" |+ Purchasable with Vouchers |- ! colspan="3" class="customTableHeader"|Train Engines |- | {{ItemLarge|Spark}} || {{ItemLarge|Rescue}} || {{ItemLarge|Diesel Deluxe}} |- | {{ItemLarge|Rescue}} || {{ItemLarge|Rescue}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Industry |- | {{ItemLarge|PaperClip Stamper}} || {{ItemLarge|Electronics Fab}} || {{ItemLarge|The Mechanist}} |- | {{ItemLarge|Geothermal}} || {{ItemLarge|City}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Music Tracks |- | {{ItemLarge|}} || {{ItemLarge|Rescue}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Station Upgrade |- | {{ItemLarge|Station Overdrive++}} ||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Music |- |{{ItemLarge|Music|Tape #039}}||{{ItemLarge|Music|Ghost City}}||{{ItemLarge|Music|Arson}} |- |{{ItemLarge|Music|4x4}}||{{ItemLarge|Music|Stabilization Procedure}}||{{ItemLarge|Music|Luminance}} |- |{{ItemLarge|Music|Glowing Nights}}||{{ItemLarge|Music|Catman}}||{{ItemLarge|Music|Starfall}} |- |{{ItemLarge|Music|Met You in TV}}||{{ItemLarge|Music|Marshmellow Galaxy}}||{{ItemLarge|Music|Dangerous Rendezvous}} |- |{{ItemLarge|Music|Dancing Shadows}}||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Industry Upgrade Licenses |- | {{ItemLarge|Oil Powerplant}} || {{ItemLarge|Neon Refinery}} || {{ItemLarge|Concrete Yard}} |- | {{ItemLarge|Furniture Assembler}} || {{ItemLarge|Motor Assembly}} || {{ItemLarge|Appliance Plant}} |- | {{ItemLarge|Coal Gassifier}} || {{ItemLarge|Oil Refinery}} || {{ItemLarge|Hullyard}} |- | {{ItemLarge|Hardmold}} || {{ItemLarge|The Mechanist}} || {{ItemLarge|Framer}} |- | {{ItemLarge|Grey Assembly}} || {{ItemLarge|Glass Smelter}} || {{ItemLarge|Tool Die}} |- | {{ItemLarge|Luxury Assembler}} || {{ItemLarge|WorkRocket Platform}} || {{ItemLarge|SpaceLiner Platform}} |- | {{ItemLarge|Compute Platform}} || {{ItemLarge|Incinerator}} || {{ItemLarge|Armory}} |- | {{ItemLarge|Plasticizer}} || {{ItemLarge|Coal Powerplant}} || {{ItemLarge|Booster Plant}} |- | {{ItemLarge|Electronics Fab}} || {{ItemLarge|Steel Mill}} || {{ItemLarge|Wire Coiler}} |- | {{ItemLarge|CPU Fab}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Heavyworks}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Signworks}} || {{ItemLarge|Tube Plant}} |- | {{ItemLarge|Rocket Factory}} || {{ItemLarge|Salt Refinery}} || &nbsp; |} a33c7ad3d92ad1f0d0f15f7977dfcabacc7c2aa7 1357 1355 2024-02-06T02:02:10Z Hiroteashi 379511 wikitext text/x-wiki ==Voucher Exchange== {{StructureInfoBox|name=Voucher Exchange|length=2|width=2}} [[Category:Structures]] The Voucher Exchange is a campaign only structure that comes pre-placed on the map. This is the location where the player spends their Vouchers gained from earning ranks in the [[:category:missions|story campaign]]. While the shop selection is limited at the start of the campaign, more purchases will unlock in pace with the player's progression through the campaign's main story-line. Every purchase at the Voucher Exchange is permanent and the unlocked licenses will carry over from region to region. The Voucher Exchange offers licenses for the utilization of: [[category:Trains]], [[category:structures|Industries]], Industry upgrades, [[Music]], and a few other miscellaneous upgrades for the player. {| class="wikitable cargoTable noMerge customTable" |+ Purchasable with Vouchers |- ! colspan="3" class="customTableHeader"|Train Engines |- | {{ItemLarge|Spark}} || {{ItemLarge|Rescue}} || {{ItemLarge|Diesel Deluxe}} |- | {{ItemLarge|Custom}} || {{ItemLarge|Bullet}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Industry |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Electronics Fab}} || {{ItemLarge|The Mechanist}} |- | {{ItemLarge|Geothermal}} || {{ItemLarge|City}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Station Upgrades |- | {{ItemLarge|Station Tile|Station Overdrive++}} ||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Music Tracks |- |{{ItemLarge|Music|Tape #039}}||{{ItemLarge|Music|Ghost City}}||{{ItemLarge|Music|Arson}} |- |{{ItemLarge|Music|4x4}}||{{ItemLarge|Music|Stabilization Procedure}}||{{ItemLarge|Music|Luminance}} |- |{{ItemLarge|Music|Glowing Nights}}||{{ItemLarge|Music|Catman}}||{{ItemLarge|Music|Starfall}} |- |{{ItemLarge|Music|Met You in TV}}||{{ItemLarge|Music|Marshmellow Galaxy}}||{{ItemLarge|Music|Dangerous Rendezvous}} |- |{{ItemLarge|Music|Dancing Shadows}}||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Industry Upgrade Licenses |- | {{ItemLarge|Oil Powerplant}} || {{ItemLarge|Neon Refinery}} || {{ItemLarge|Concrete Yard}} |- | {{ItemLarge|Furniture Assembler}} || {{ItemLarge|Motor Assembly}} || {{ItemLarge|Appliance Plant}} |- | {{ItemLarge|Coal Gassifier}} || {{ItemLarge|Oil Refinery}} || {{ItemLarge|Hullyard}} |- | {{ItemLarge|Hardmold}} || {{ItemLarge|The Mechanist}} || {{ItemLarge|Framer}} |- | {{ItemLarge|Grey Assembly}} || {{ItemLarge|Glass Smelter}} || {{ItemLarge|Tool Die}} |- | {{ItemLarge|Luxury Assembler}} || {{ItemLarge|WorkRocket Platform}} || {{ItemLarge|SpaceLiner Platform}} |- | {{ItemLarge|Compute Platform}} || {{ItemLarge|Incinerator}} || {{ItemLarge|Armory}} |- | {{ItemLarge|Plasticizer}} || {{ItemLarge|Coal Powerplant}} || {{ItemLarge|Booster Plant}} |- | {{ItemLarge|Electronics Fab}} || {{ItemLarge|Steel Mill}} || {{ItemLarge|Wire Coiler}} |- | {{ItemLarge|CPU Fab}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Heavyworks}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Signworks}} || {{ItemLarge|Tube Plant}} |- | {{ItemLarge|Rocket Factory}} || {{ItemLarge|Salt Refinery}} || &nbsp; |} 1c675739aef32db4bddb5dd29418b363ad4b0f11 1386 1357 2024-02-06T04:09:41Z Hiroteashi 379511 /* Voucher Exchange */ wikitext text/x-wiki ==Information== {{StructureInfoBox|name=Voucher Exchange|length=2|width=2}} [[Category:Structures]] The Voucher Exchange is a campaign only structure that comes pre-placed on the map. This is the location where the player spends their Vouchers gained from earning ranks in the [[:category:missions|story campaign]]. While the shop selection is limited at the start of the campaign, more purchases will unlock in pace with the player's progression through the campaign's main story-line. Every purchase at the Voucher Exchange is permanent and the unlocked licenses will carry over from region to region. The Voucher Exchange offers licenses for the utilization of: [[category:Trains]], [[category:structures|Industries]], Industry upgrades, [[Music]], and a few other miscellaneous upgrades for the player. {| class="wikitable cargoTable noMerge customTable" |+ Purchasable with Vouchers |- ! colspan="3" class="customTableHeader"|Train Engines |- | {{ItemLarge|Spark}} || {{ItemLarge|Rescue}} || {{ItemLarge|Diesel Deluxe}} |- | {{ItemLarge|Custom}} || {{ItemLarge|Bullet}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Industry |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Electronics Fab}} || {{ItemLarge|The Mechanist}} |- | {{ItemLarge|Geothermal}} || {{ItemLarge|City}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Station Upgrades |- | {{ItemLarge|Station Tile|Station Overdrive++}} ||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Music Tracks |- |{{ItemLarge|Music|Tape #039}}||{{ItemLarge|Music|Ghost City}}||{{ItemLarge|Music|Arson}} |- |{{ItemLarge|Music|4x4}}||{{ItemLarge|Music|Stabilization Procedure}}||{{ItemLarge|Music|Luminance}} |- |{{ItemLarge|Music|Glowing Nights}}||{{ItemLarge|Music|Catman}}||{{ItemLarge|Music|Starfall}} |- |{{ItemLarge|Music|Met You in TV}}||{{ItemLarge|Music|Marshmellow Galaxy}}||{{ItemLarge|Music|Dangerous Rendezvous}} |- |{{ItemLarge|Music|Dancing Shadows}}||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Industry Upgrade Licenses |- | {{ItemLarge|Oil Powerplant}} || {{ItemLarge|Neon Refinery}} || {{ItemLarge|Concrete Yard}} |- | {{ItemLarge|Furniture Assembler}} || {{ItemLarge|Motor Assembly}} || {{ItemLarge|Appliance Plant}} |- | {{ItemLarge|Coal Gassifier}} || {{ItemLarge|Oil Refinery}} || {{ItemLarge|Hullyard}} |- | {{ItemLarge|Hardmold}} || {{ItemLarge|The Mechanist}} || {{ItemLarge|Framer}} |- | {{ItemLarge|Grey Assembly}} || {{ItemLarge|Glass Smelter}} || {{ItemLarge|Tool Die}} |- | {{ItemLarge|Luxury Assembler}} || {{ItemLarge|WorkRocket Platform}} || {{ItemLarge|SpaceLiner Platform}} |- | {{ItemLarge|Compute Platform}} || {{ItemLarge|Incinerator}} || {{ItemLarge|Armory}} |- | {{ItemLarge|Plasticizer}} || {{ItemLarge|Coal Powerplant}} || {{ItemLarge|Booster Plant}} |- | {{ItemLarge|Electronics Fab}} || {{ItemLarge|Steel Mill}} || {{ItemLarge|Wire Coiler}} |- | {{ItemLarge|CPU Fab}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Heavyworks}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Signworks}} || {{ItemLarge|Tube Plant}} |- | {{ItemLarge|Rocket Factory}} || {{ItemLarge|Salt Refinery}} || &nbsp; |} b3e754cf6087c08910ff914efac6c78991220db3 Template:ItemLarge 10 74 1353 1051 2024-02-06T01:42:57Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]<div class="aligncenter">{{#if:{{{2|}}}|'''{{{2|}}}'''|[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]}}</div></span></span> </includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> {{ItemLarge|Water|Redirect}} <p>If you want to use an Icon but have different text, then use</p> <pre>{{ItemLarge|Water|Redirect}}</pre> </noinclude> 85e26bfc284710fe85b10f2d750c526b458b2e5e 1354 1353 2024-02-06T01:48:11Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{{{#if:{{{2|}}}|link|File:{{{1}}}.png|{{{link|{{{1}}}}}}|alt={{{1}}}]]<div class="aligncenter">{{#if:{{{2|}}}|'''{{{2|}}}'''|[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]}}</div></span></span> </includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> {{ItemLarge|Water|Redirect}} <p>If you want to use an Icon but have different text, then use</p> <pre>{{ItemLarge|Water|Redirect}}</pre> </noinclude> a80879cf1ad80bf711cbf3ad6ad0181332178c30 1358 1354 2024-02-06T02:03:23Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{{{#if:{{{2|}}}|link|File:{{{1}}}.png|{{{link|{{{1}}}}}}|alt={{{1}}}]]<div class="aligncenter">{{#if:{{{2|}}}|'''{{{2|}}}'''|[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]}}</div></span></span> </includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> {{ItemLarge|Water|text}} <p>If you want to use an Icon but have different text, then use</p> <pre>{{ItemLarge|image name|text}}</pre> </noinclude> eb1a21f06b6fe15bdd77ec40bf8126cbc14756f2 1359 1358 2024-02-06T02:03:43Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{{{#if:{{{2|}}}|link|File:{{{1}}}.png|{{{link|{{{1}}}}}}|alt={{{1}}}]]<div class="aligncenter">{{#if:{{{2|}}}|'''{{{2|}}}'''|[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]}}</div></span></span> </includeonly><noinclude> [[Category:Templates]] ===Example Output=== <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div><br /> <pre>{{ItemLarge|Water}}</pre> <div style="width:200px;border-style:solid;border-width:1px">{{ItemLarge|Water|text}}</div><br /> <p>If you want to use an Icon but have different text, then use</p> <pre>{{ItemLarge|image name|text}}</pre> </noinclude> d7f81d96cc579c57045b0f6c3a6fc679827d4b4b 1360 1359 2024-02-06T02:04:48Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><span class="item"><span class="item-icon {{lc:{{#replace:{{{1}}}| |-}}}}" style="width:{{{size|1em}}}; height:{{{size|1em}}};">[[File:{{{1}}}.png|center|92px|link={{{{{#if:{{{2|}}}|link|File:{{{1}}}.png|{{{link|{{{1}}}}}}|alt={{{1}}}]]<div class="aligncenter">{{#if:{{{2|}}}|'''{{{2|}}}'''|[[:{{{link|{{{1}}}}}}|'''{{{text|{{{1}}}}}}''']]}}</div></span></span> </includeonly><noinclude> [[Category:Templates]] ===Example Output=== <pre>{{ItemLarge|Water}}</pre> <div style="width:200px;border-style:solid;border-width:1px"> {{ItemLarge|Water}} </div> <hr /> <p>If you want to use an Icon but have different text, then use</p> <pre>{{ItemLarge|image name|text}}</pre> <div style="width:200px;border-style:solid;border-width:1px">{{ItemLarge|Water|text}}</div> </noinclude> 248ba78d266e40af0cf52f13bb95c2550d6d35ef File:Music.png 6 15 1356 30 2024-02-06T01:59:43Z Hiroteashi 379511 Hiroteashi moved page [[File:Cassette.png]] to [[File:Music.png]] without leaving a redirect wikitext text/x-wiki == Summary == Music Cassette 1ec203b35205e95e3e760232e4348fe701f3e585 Category:Trains 14 8 1361 1321 2024-02-06T02:06:29Z Hiroteashi 379511 /* List of Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the lifeblood of your [[:category:structures|industrial network]]. They are the only method for hauling around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. Multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|Custom}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Exchange|Voucher Purchase]] |} 87acba3b2d1311f76cf5d1602ce5742b6b074a05 File:Bank.png 6 45 1362 1159 2024-02-06T02:27:16Z Hiroteashi 379511 Hiroteashi moved page [[File:Placeable bank.png]] to [[File:Bank.png]] without leaving a redirect wikitext text/x-wiki [[category:Industry Icon]] == Summary == Bank Structure 84eb74f06ddd187463572a483c4a16afcac3c656 1363 1362 2024-02-06T02:27:30Z Hiroteashi 379511 wikitext text/x-wiki == Summary == Bank Structure [[category:Industry Icon]] a13b8111b82c8ea2c46ace6fd16d4cd5e0c6266a Bank 0 347 1364 2024-02-06T02:28:43Z Hiroteashi 379511 Created page with "==Bank== [[category:Structures]] {{StructureInfoBox|name=Bank|length=2|width=2}} [[Category:Structures]] The Bank is a campaign only structure that comes pre-placed on the map. This is the location where the player can deposit or withdraw money in the form of a loan to help fund their ventures. The player's net profit determines the loan amount that the Bank is willing to give, with higher profits giving access to much higher loan amounts. Loans have a very high inter..." wikitext text/x-wiki ==Bank== [[category:Structures]] {{StructureInfoBox|name=Bank|length=2|width=2}} [[Category:Structures]] The Bank is a campaign only structure that comes pre-placed on the map. This is the location where the player can deposit or withdraw money in the form of a loan to help fund their ventures. The player's net profit determines the loan amount that the Bank is willing to give, with higher profits giving access to much higher loan amounts. Loans have a very high interest rate and it is very possible to end up in a revenue death spiral if the player excessively relies on the Bank. Players can deposit up to 64,000 ¥(JPY) into the Bank and earn interest. Depending on the amount deposited, the interest can help offset infrastructure upkeep costs or even be enough to be a secondary revenue stream. ===Bank Description=== {{blockquote|text= Banks are region specific. When borrowing, pay attention to interest payments. The bank will determine your borrow limit based on credit worthiness factors such as profit and stability. Consider repaying loans to improve your credit and reduce costs. Interest rate fluctuations are driven by credit demand and the regional economy.}} ===Barks=== * You should borrow * You can never have enough loans * Don't live on the slow path, leverage up! * Need money now? 1d946760f24ff485088f9240404e4d763b05df2c 1365 1364 2024-02-06T02:28:59Z Hiroteashi 379511 /* Bank */ wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Bank|length=2|width=2}} [[Category:Structures]] The Bank is a campaign only structure that comes pre-placed on the map. This is the location where the player can deposit or withdraw money in the form of a loan to help fund their ventures. The player's net profit determines the loan amount that the Bank is willing to give, with higher profits giving access to much higher loan amounts. Loans have a very high interest rate and it is very possible to end up in a revenue death spiral if the player excessively relies on the Bank. Players can deposit up to 64,000 ¥(JPY) into the Bank and earn interest. Depending on the amount deposited, the interest can help offset infrastructure upkeep costs or even be enough to be a secondary revenue stream. ===Bank Description=== {{blockquote|text= Banks are region specific. When borrowing, pay attention to interest payments. The bank will determine your borrow limit based on credit worthiness factors such as profit and stability. Consider repaying loans to improve your credit and reduce costs. Interest rate fluctuations are driven by credit demand and the regional economy.}} ===Barks=== * You should borrow * You can never have enough loans * Don't live on the slow path, leverage up! * Need money now? 52098ec74c669d7e3bba8cc33b2040085a3bf272 Rollercoaster Park 0 63 1366 203 2024-02-06T02:43:17Z Hiroteashi 379511 wikitext text/x-wiki [[Category:structures]] == Information == {{StructureInfoBox|name=Rollercoaster|length=7|width=6 |requirements= 512x {{item|Concrete}}<br /> 256x {{item|Steel}}<br /> 128x {{item|Widgets}} }} Megaprojects require a set amount of [[:category:freight|Freight]] delivered in order to complete the project. The Megaproject will buy a required Freight at full price until its stockpile is full and will refuse to buy more afterwards. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. The Rollercoaster is first Megaproject the player will face in the campaign at the [[Space Park]]. It is the brainchild of Saito in his bid to impress the Nakatani Chemical's Found and prevent any potential sell off of the company. The project ends up succeeding with the player's aid. 1baab15d388c5d79a8539634d4014ebc082aad77 1369 1366 2024-02-06T02:47:25Z Hiroteashi 379511 wikitext text/x-wiki [[Category:structures]] == Information == {{StructureInfoBox|name=Rollercoaster|length=7|width=6 |requirements= 512x {{item|Concrete}}<br /> 256x {{item|Steel}}<br /> 128x {{item|Widgets}} }} The Rollercoaster is first Megaproject the player will face in the campaign at the [[Space Park]]. It is the brainchild of Saito in his bid to impress the Nakatani Chemical's Found and prevent any potential sell off of the company. The project ends up succeeding with the player's aid. Game mechanics-wise, MegaProjects require a set amount of [[:category:freight|Freight]] delivered in order to complete them. The MegaProject will buy a required Freight at full price until its stockpile is full and will refuse to buy more afterwards. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. c2aa17629626d3846109e5e7c3e88c84584535fd Atmospheric Seeder 0 345 1367 1345 2024-02-06T02:45:55Z Hiroteashi 379511 wikitext text/x-wiki [[Category:structures]] ==Info== The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seeder," and is sometimes abbreviated as TEAS in text logs. It was originally designed to use deep ground water to generate Clouds for the purposes of increasing precipitation and ultimately climaforming the desert region into as less extreme biome. ===MegaProject Version=== {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder is the set piece of [[Dusty with a Chance of Rain]] where the player has to deliver construction materials to the worksite. Upon completion, the structure began belching clouds of toxic purple mist, putting the TEAS Project on hiatus until the the solution of the problem is found. Game mechanics-wise, MegaProjects require a set amount of [[:category:freight|Freight]] delivered in order to complete them. The MegaProject will buy a required Freight at full price until its stockpile is full and will refuse to buy more afterwards. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. ===Industry Version=== The functional Atmospheric Seeder is a extremely high throughput Industry featured in [[Brewing Up a Storm]]. Because of its short production time the Industry requires constant deliveries of {{item|Steam Tank}} to remain functional. To provide the needed Steam, the region includes 3 preplaced '''Steam Boilers''', an industry that is also unique to the region. Players will have to upgrade them heavily to keep up with the demands of the TEAS One must also wonder about the long term effects that the additives {{item|Assembra}} and {{item|Solvent}} might have on the region. {{IndustryTableHeader|TEAS and Adjacent Industry| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}}}} ===Trivia=== The blight that infects the completed Megaproject version of the Structure is a nod to the Blightrot in the game [https://store.steampowered.com/app/1336490/Against_the_Storm/ Against the Storm]. Perhaps the Assembra might have some negative effect on the Storm the TEAS generates... 8bbeae87280d0f1a4da0d882ffcad8070af8eaef 1368 1367 2024-02-06T02:47:05Z Hiroteashi 379511 wikitext text/x-wiki [[Category:structures]] ==Info== The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seeder," and is sometimes abbreviated as TEAS in text logs. It was originally designed to use deep ground water to generate Clouds for the purposes of increasing precipitation and ultimately climaforming the desert region into as less extreme biome. ===MegaProject Version=== {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder is the set piece of [[Dusty with a Chance of Rain]] where the player has to deliver construction materials to the worksite. Upon completion, the structure began belching clouds of toxic purple mist, putting the TEAS Project on hiatus until the the solution of the problem is found. Game mechanics-wise, MegaProjects require a set amount of [[:category:freight|Freight]] delivered in order to complete them. The MegaProject will buy a required Freight at full price until its stockpile is full and will refuse to buy more afterwards. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. ===Industry Version=== The functional Atmospheric Seeder is a extremely high throughput Industry featured in [[Brewing Up a Storm]]. Because of its short production time the Industry requires constant deliveries of {{item|Steam Tank}} to remain functional. To provide the needed Steam, the region includes 3 preplaced '''Steam Boilers''', an industry that is also unique to the region. Players will have to upgrade them heavily to keep up with the demands of the TEAS The additives {{item|Assembra}} and {{item|Solvent}} are necessary to clean the steam of any potential blight. {{IndustryTableHeader|TEAS and Adjacent Industry| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}}}} ===Trivia=== The blight that infects the completed Megaproject version of the Structure is a nod to the Blightrot in the game [https://store.steampowered.com/app/1336490/Against_the_Storm/ Against the Storm]. Perhaps the Assembra might have some negative effect on the Storm the TEAS generates... db6a6f4fa02a2a95e18c7b3271276225859df161 File:Regional HeadQuarters.png 6 95 1370 1122 2024-02-06T02:55:49Z Hiroteashi 379511 Hiroteashi moved page [[File:Regonal Headquarters.png]] to [[File:Regonal HeadQuarters.png]] without leaving a redirect wikitext text/x-wiki [[category:Industry Icon]] == Summary == Company Headquarters Megaproject 0e6f41ff572ae6156335133ede4bf888e9c888e4 1372 1370 2024-02-06T03:04:48Z Hiroteashi 379511 Hiroteashi moved page [[File:Regonal HeadQuarters.png]] to [[File:Regional HeadQuarters.png]] without leaving a redirect: misspelling wikitext text/x-wiki [[category:Industry Icon]] == Summary == Company Headquarters Megaproject 0e6f41ff572ae6156335133ede4bf888e9c888e4 Regional HeadQuarters 0 348 1371 2024-02-06T03:04:22Z Hiroteashi 379511 Created page with "[[Category:structures]] == Information == {{StructureInfoBox|name=Regional HeadQuarters|length=7|width=7 |requirements= 512x {{item|Concrete}}<br /> 854x {{item|Steel}}<br /> 128x {{item|Luxury Rooms}}<br /> 64x {{item|Televisions}}<br /> 256x {{item|Glass}} }} The Regional HeadQuarters is the second MegaProject the player will face in the campaign at [[In Media Res]]. The construction of the towers was strongly encouraged by Jeff, as a power demonstration once Saito w..." wikitext text/x-wiki [[Category:structures]] == Information == {{StructureInfoBox|name=Regional HeadQuarters|length=7|width=7 |requirements= 512x {{item|Concrete}}<br /> 854x {{item|Steel}}<br /> 128x {{item|Luxury Rooms}}<br /> 64x {{item|Televisions}}<br /> 256x {{item|Glass}} }} The Regional HeadQuarters is the second MegaProject the player will face in the campaign at [[In Media Res]]. The construction of the towers was strongly encouraged by Jeff, as a power demonstration once Saito was disgraced. Though the Regional HeadQuarters was completed to specifications, it needed additional {{item|Mainframes}} and {{Item|Heavy Tools}} exported to it in order to get it fully operational. Game mechanics-wise, MegaProjects require a set amount of [[:category:freight|Freight]] delivered in order to complete them. The MegaProject will buy a required Freight at full price until its stockpile is full and will refuse to buy more afterwards. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. a8d47373ea19d22f9766b90aa45a192afa72b350 1373 1371 2024-02-06T03:05:06Z Hiroteashi 379511 /* Information */ wikitext text/x-wiki [[Category:structures]] == Information == {{StructureInfoBox|name=Regional HeadQuarters|length=7|width=7 |requirements= 512x {{item|Concrete}}<br /> 854x {{item|Steel}}<br /> 128x {{item|Luxury Rooms}}<br /> 64x {{item|Televisions}}<br /> 256x {{item|Glass}}}} The Regional HeadQuarters is the second MegaProject the player will face in the campaign at [[In Media Res]]. The construction of the towers was strongly encouraged by Jeff, as a power demonstration once Saito was disgraced. Though the Regional HeadQuarters was completed to specifications, it needed additional {{item|Mainframes}} and {{Item|Heavy Tools}} exported to it in order to get it fully operational. Game mechanics-wise, MegaProjects require a set amount of [[:category:freight|Freight]] delivered in order to complete them. The MegaProject will buy a required Freight at full price until its stockpile is full and will refuse to buy more afterwards. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. ee04faff1be54d6d5777dd684a36c13afc3cc402 1374 1373 2024-02-06T03:26:37Z Hiroteashi 379511 /* Information */ wikitext text/x-wiki [[Category:structures]] == Information == {{StructureInfoBox|name=Regional HeadQuarters|length=7|width=7 |requirements= 512x {{item|Concrete}}<br /> 854x {{item|Steel}}<br /> 128x {{item|Luxury Rooms}}<br /> 64x {{item|Televisions}}<br /> 256x {{item|Glass}}}} The Regional HeadQuarters is the second MegaProject the player will face in the campaign at [[In Media Res]]. The construction of the towers was strongly encouraged by Jeff, as a power move once Saito was framed. Though the Regional HeadQuarters was completed to specifications, it needed additional {{item|Mainframes}} and {{Item|Heavy Tools}} exported to it in later missions in order to get it fully operational. Game mechanics-wise, MegaProjects require a set amount of [[:category:freight|Freight]] delivered in order to complete them. The MegaProject will buy a required Freight at full price until its stockpile is full and will refuse to buy more afterwards. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. d095a7f46df26059410d2566ad9cbf39dfc29c53 File:Worker Housing.png 6 42 1375 1162 2024-02-06T03:27:58Z Hiroteashi 379511 Hiroteashi moved page [[File:Placeable workerhousing.png]] to [[File:Worker Housing.png]] without leaving a redirect wikitext text/x-wiki [[category:Industry Icon]] == Summary == Worker Housing Structure 563fec9bdea964b743635626c745ab6382e181b6 Reclamation Engine 0 346 1376 1348 2024-02-06T03:28:38Z Hiroteashi 379511 wikitext text/x-wiki ==Info== The Reclamation Engine refers to two different entities, one being the construction MegaProject and the other one being the functional restored version. The Engine was originally found by tracking down a transmission signal that was injecting technical requests into the players console. Upon its discovery, the AI controlling the Engine offered the player's company its profits if they were to restore. An analysis report indicated that The Engine uses a surprisingly large number of {{Item|PaperClips}} in its construction. Once restored, the Engine leads the player into a region with an abandoned city where it begins salvaging the building and reprocessing them into raw materials, requesting the player's company to invest it all into the production of paperclips. Once the quota is reached, the AI decided that the deal has been complete and kicks the player out of the the region as it has reached a state of self sufficiency. ===MegaProject Version=== [[Category:structures]] {{StructureInfoBox|name=Reclamation Engine|length=7|width=4 |requirements= 512x {{item|Wire}}<br /> 1024x {{item|PaperClips}}<br /> 128x {{item|Heavy Tools}}<br /> 64x {{item|RobotArm}} }} The Destroyed Reclamation Engine is the set piece of [[Clipped Wings]] where the player has to deliver construction materials to the worksite. ===Industry Version=== The Restored Reclamation Engine is the center piece of [[Incremental Maximizer]]. It requires few resources to run and generate a large amount of raw resources for the player to utilize. However the Reclamation Engine will not initiate another production cycle if its stockpiles are too full. Making sure the hoppers remain empty and utilizing the production outputs in a balanced manner is the main challenge in keeping the Engine operating. {{IndustryTableHeader|Restored| {{IndustryDataParser|Reclamation Engine}} }} ===Trivia=== * The whole paperclip focus of the Reclamation Engine was inspired by the incremental game, [https://www.decisionproblem.com/paperclips/ Universal Paperclips]. The game puts players in a position where they are an AI with the directive to make paperclips and to what lengths that single instruction will go at the detriment of the world and space around it. * The Destroyed Reclamation Engine is found in a massive crater. It was most likely destroyed in a violent event, be it crashing in from space or demolished by an exceptionally large explosion. This is further enforced by the region name 'Clipped Wings'. d46888f84169343559b30d047f7aacf5368fb68c Worker Housing 0 349 1377 2024-02-06T03:35:12Z Hiroteashi 379511 Created page with "[[Category:Structures]] ==Info== [[Category:structures]] {{StructureInfoBox|name=Worker Housing|length=4|width=4 }} Worker Housing is a campaign only structure that comes pre-placed on the map. The structure provides living space for 20 workers and is utilized on maps when no [[City]] present. Otherwise it provides no other interaction." wikitext text/x-wiki [[Category:Structures]] ==Info== [[Category:structures]] {{StructureInfoBox|name=Worker Housing|length=4|width=4 }} Worker Housing is a campaign only structure that comes pre-placed on the map. The structure provides living space for 20 workers and is utilized on maps when no [[City]] present. Otherwise it provides no other interaction. 3060e97dea05b361989b5b1b42e8b050679d5f23 1378 1377 2024-02-06T03:35:25Z Hiroteashi 379511 wikitext text/x-wiki [[Category:Structures]] ==Info== {{StructureInfoBox|name=Worker Housing|length=4|width=4 }} Worker Housing is a campaign only structure that comes pre-placed on the map. The structure provides living space for 20 workers and is utilized on maps when no [[City]] present. Otherwise it provides no other interaction. 0f759a5568e21c4be99a60def43c84eba936d4c6 File:Revenue UI.png 6 350 1379 2024-02-06T03:46:50Z Hiroteashi 379511 wikitext text/x-wiki In game image capture of the Revenue, Cost, and Net income information that is provided by the Accountancy 846e6e23d7765335dc5edf017a696c6075e31974 Accountancy 0 351 1380 2024-02-06T03:56:19Z Hiroteashi 379511 Created page with "[[Category:Structures]] ==Info== {{StructureInfoBox|name=Accountancy|length=2|width=2|cost=512}} The Accountancy is a structure that is not available for placement in the [[:category:missions|campaign]] but a limit of one is available for placement in [[Sandbox Mode]]. The Accountancy is the structure that provides the player with information regarding their financial status. The player actually does not have this feature by default and the Accountancy to be present..." wikitext text/x-wiki [[Category:Structures]] ==Info== {{StructureInfoBox|name=Accountancy|length=2|width=2|cost=512}} The Accountancy is a structure that is not available for placement in the [[:category:missions|campaign]] but a limit of one is available for placement in [[Sandbox Mode]]. The Accountancy is the structure that provides the player with information regarding their financial status. The player actually does not have this feature by default and the Accountancy to be present to see any of the numbers. [[File:Revenue UI.png|frame|alt=An in game screenshot of the UI provided by the Accountancy|In game image capture of the UI provided by the Accountancy]] Clicking on the Accountancy also reveals a panel of information which offers a breakdown of the player's expenses as well as some general statistics about the player's logistic network. {{blockquote|text=Accountants crunch the numbers to provide you live financial reports. Tabulated revenue and costs are delivered right to your management HUD. |signature=In game description for the Accountancy}} 2d0b64ed75e22e2087f547fe71d383016b414aba 1382 1380 2024-02-06T04:06:58Z Hiroteashi 379511 wikitext text/x-wiki [[Category:Structures]] ==Info== {{StructureInfoBox|name=Accountancy|length=2|width=2|cost=512}} The Accountancy is a structure that is not available for placement in the [[:category:missions|campaign]] but a limit of one is available for placement in [[Sandbox Mode]]. The Accountancy is the structure that provides the player with information regarding their financial status. The player actually does not have this feature by default and the Accountancy to be present to see any of the numbers. [[File:Revenue UI.png|frame|alt=An in game screenshot of the UI provided by the Accountancy|In game image capture of the UI provided by the Accountancy]] Clicking on the Accountancy also reveals a panel of information which offers a breakdown of the player's expenses as well as some general statistics about the player's logistic network such as number of trains and [[:category:structures|Industry]] utilization. {{blockquote|text=Accountants crunch the numbers to provide you live financial reports. Tabulated revenue and costs are delivered right to your management HUD. |signature=In game description for the Accountancy}} a67ae44242ec4ba22d5bb5783ecedf1d671a25bd 1383 1382 2024-02-06T04:07:37Z Hiroteashi 379511 wikitext text/x-wiki [[Category:Structures]] ==Info== {{StructureInfoBox|name=Accountancy|length=2|width=2|cost=512}} The Accountancy is a structure that is not available for placement in the [[:category:missions|campaign]] but a limit of one is available for placement in [[Sandbox Mode]]. The Accountancy is the structure that provides the player with information regarding their financial status. The player actually does not have this feature by default and the Accountancy to be present to see any of the numbers. [[File:Revenue UI.png|frame|alt=An in game screenshot of the UI provided by the Accountancy|In game image capture of the UI provided by the Accountancy]] Clicking on the Accountancy also reveals a panel of information which offers a breakdown of the player's expenses as well as some general statistics about the player's logistic network such as number of trains and [[:category:structures|Industry]] utilization. {{blockquote|text=Accountants crunch the numbers to provide you live financial reports. Tabulated revenue and costs are delivered right to your management HUD. |signature=In game description for the Accountancy}} ===Barks=== * Profit is revenue after expenses * In our professional opinion, higher profit is better * Leave numbers to the professionals * Counting the accounts b9cffbc08e6c1e32902236a400010dd5dad85681 1384 1383 2024-02-06T04:07:48Z Hiroteashi 379511 wikitext text/x-wiki [[Category:Structures]] ==Info== {{StructureInfoBox|name=Accountancy|length=2|width=2|cost=512}} The Accountancy is a structure that is not available for placement in the [[:category:missions|campaign]] but a limit of one is available for placement in [[Sandbox Mode]]. The Accountancy is the structure that provides the player with information regarding their financial status. The player actually does not have this feature by default and the Accountancy to be present to see any of the numbers. [[File:Revenue UI.png|frame|alt=An in game screenshot of the UI provided by the Accountancy|In game image capture of the UI provided by the Accountancy]] Clicking on the Accountancy also reveals a panel of information which offers a breakdown of the player's expenses as well as some general statistics about the player's logistic network such as number of trains and [[:category:structures|Industry]] utilization. {{blockquote|text=Accountants crunch the numbers to provide you live financial reports. Tabulated revenue and costs are delivered right to your management HUD. |signature=In game description for the Accountancy}} ===Barks=== * Profit is revenue after expenses * In our professional opinion, higher profit is better * Leave numbers to the professionals * Counting the accounts e6c172bfbcd51a309d06337003700a46a334a02c 1385 1384 2024-02-06T04:08:16Z Hiroteashi 379511 wikitext text/x-wiki [[Category:Structures]] ==Info== {{StructureInfoBox|name=Accountancy|length=2|width=2|cost=512}} The Accountancy is a structure that is not available for placement in the [[:category:missions|campaign]] but a limit of one is available for placement in [[Sandbox Mode]]. The Accountancy is the structure that provides the player with information regarding their financial status. The player actually does not have this feature by default and the Accountancy to be present to see any of the numbers. [[File:Revenue UI.png|frame|alt=An in game screenshot of the UI provided by the Accountancy|In game image capture of the UI provided by the Accountancy]] Clicking on the Accountancy also reveals a panel of information which offers a breakdown of the player's expenses as well as some general statistics about the player's logistic network such as number of trains and [[:category:structures|Industry]] utilization. ===Barks=== * Profit is revenue after expenses * In our professional opinion, higher profit is better * Leave numbers to the professionals * Counting the accounts {{blockquote|text=Accountants crunch the numbers to provide you live financial reports. Tabulated revenue and costs are delivered right to your management HUD. |signature=In game description for the Accountancy}} b7a0a498fea4cd5f836ea4d4b74dedc368f28993 File:Accountancy.png 6 41 1381 1163 2024-02-06T04:01:02Z Hiroteashi 379511 Hiroteashi moved page [[File:Placeable accountancy.png]] to [[File:Accountancy.png]] without leaving a redirect wikitext text/x-wiki [[category:Industry Icon]] == Summary == Accountancy Structure e69e155bfaf92a412930f226f30916f21044d9f9 Zeppelin Dock 0 352 1387 2024-02-06T04:22:41Z Hiroteashi 379511 Created page with "==Infomation== [[category:Structures]] {{StructureInfoBox|name=Zeppelin Dock|length=6|width=3|cost=65,536}} [[Category:Structures]] The Zeppelin Dock is a very common structure and most of the [[:category:missions|campaign]] revolves around the objective of transporting [[:category:freight]] to it for export. The Zeppelin Dock will buy any Freight other than {{item|waste}} and is often the main source of player revenue. The Zeppelin Dock only becomes available for pl..." wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Zeppelin Dock|length=6|width=3|cost=65,536}} [[Category:Structures]] The Zeppelin Dock is a very common structure and most of the [[:category:missions|campaign]] revolves around the objective of transporting [[:category:freight]] to it for export. The Zeppelin Dock will buy any Freight other than {{item|waste}} and is often the main source of player revenue. The Zeppelin Dock only becomes available for placement in the Campaign once the main storyline if [[Last Job|completed]]. In [[Sandbox Mode]], the Zeppelin Dock is slightly different in that it can only store 32 Freight in total and has a 90 second timer before the Zeppelin arrives to retrieve it. This is to encourage the player to create and sell advanced freight to utilize its relatively small stockpile. ===Zeppelin Dock Description=== {{blockquote|text= Deliver freight to this zeppelin dock for export. You will be paid instantly and the freight will be transported out of region.}} 52ebe20e19f8ef7b23fbe2d96bfaf4c42691f5d1 1388 1387 2024-02-06T04:23:17Z Hiroteashi 379511 wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Zeppelin Dock|length=6|width=3|cost=65,536}} [[Category:Structures]] The Zeppelin Dock is a very common structure and most of the [[:category:missions|campaign]] revolves around the objective of transporting [[:category:freight|Freight]] to it for export. The Zeppelin Dock will buy any Freight other than {{item|waste}} and is often the main source of player revenue. The Zeppelin Dock only becomes available for placement in the Campaign once the main storyline if [[Last Job|completed]]. In [[Sandbox Mode]], the Zeppelin Dock is slightly different in that it can only store 32 Freight in total and has a 90 second timer before the Zeppelin arrives to retrieve it. This is to encourage the player to create and sell advanced freight to utilize its relatively small stockpile. ===Zeppelin Dock Description=== {{blockquote|text= Deliver freight to this zeppelin dock for export. You will be paid instantly and the freight will be transported out of region.}} 60957e8b58408e13999df8f05cde3a3c47599ed6 1389 1388 2024-02-06T04:24:34Z Hiroteashi 379511 wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Zeppelin Dock|length=6|width=3|cost=65,536}} [[Category:Structures]] The Zeppelin Dock is a frequently occurring structure and most of the [[:category:missions|campaign]] revolves around the objective of transporting [[:category:freight|Freight]] to it for export. The Zeppelin Dock will buy any Freight other than {{item|waste}} and is often the main source of player revenue. The Zeppelin Dock only becomes available for placement in the Campaign once the main storyline if [[Last Job|completed]]. In [[Sandbox Mode]], the Zeppelin Dock is slightly different in that it can only store 32 Freight in total and has a 90 second timer before the Zeppelin arrives to retrieve it. This is to encourage the player to create and sell advanced freight to utilize its relatively small stockpile. ===Zeppelin Dock Description=== {{blockquote|text= Deliver freight to this zeppelin dock for export. You will be paid instantly and the freight will be transported out of region.}} e56ebd82fe6e8b68ece3c3d7204698ab098d5579 Import Dock 0 353 1390 2024-02-06T04:33:38Z Hiroteashi 379511 Created page with "==Infomation== [[category:Structures]] {{StructureInfoBox|name=Import Dock|length=6|width=3}} The Import Dock is a [[:category:missions|Freight]] only structure that comes pre-placed on the map. It acts as an infinite source of single [[:category:freight|Freight]] type and imports it at a set rate. Utilizing the Import Dock is not free and the player will have to pay for the price of Freight picked up by their trains. If the player does not have money to purchase Frei..." wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Import Dock|length=6|width=3}} The Import Dock is a [[:category:missions|Freight]] only structure that comes pre-placed on the map. It acts as an infinite source of single [[:category:freight|Freight]] type and imports it at a set rate. Utilizing the Import Dock is not free and the player will have to pay for the price of Freight picked up by their trains. If the player does not have money to purchase Freight, then the train will leave the station. The Import Dock can be found on the following campaign maps: * [[Round About and Out]] * [[Glassed Over]] * [[Brewing Up a Storm]] * [[Last Job]] * [[Exos Nil]] * [[Trinity]] 8184faf21797f70ce3f0a8f832a74bd72c2448c6 1391 1390 2024-02-06T04:34:01Z Hiroteashi 379511 wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Import Dock|length=6|width=3}} The Import Dock is a [[:category:missions|Freight]] only structure that comes pre-placed on the map. It acts as an infinite source of single [[:category:freight|Freight]] type and imports it at a set rate. Utilizing the Import Dock is not free and the player will have to pay for the price of Freight picked up by their trains. If the player does not have money to purchase Freight, then the train will leave the station. Import Dock are featured on the following campaign maps: * [[Round About and Out]] * [[Glassed Over]] * [[Brewing Up a Storm]] * [[Last Job]] * [[Exos Nil]] * [[Trinity]] 518ee360d9934ab5ce41dd2c5df93d12d5079cc9 1392 1391 2024-02-06T04:34:14Z Hiroteashi 379511 wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Import Dock|length=6|width=3}} The Import Dock is a [[:category:missions|Campaign]] only structure that comes pre-placed on the map. It acts as an infinite source of single [[:category:freight|Freight]] type and imports it at a set rate. Utilizing the Import Dock is not free and the player will have to pay for the price of Freight picked up by their trains. If the player does not have money to purchase Freight, then the train will leave the station. Import Dock are featured on the following campaign maps: * [[Round About and Out]] * [[Glassed Over]] * [[Brewing Up a Storm]] * [[Last Job]] * [[Exos Nil]] * [[Trinity]] ec0a66199161de2b7b6751157c5dd09cf9ec4c05 Category:Structures 14 9 1393 1338 2024-02-06T04:35:16Z Hiroteashi 379511 /* Megaproject Construction */ wikitext text/x-wiki == Overview == [[Category:Categories]] === Industries === Industries are structures on the map that can consume or produce [[:Category:freight|Freight]], typically both. They are the main way the player can generate revenue as all industries will buy freight received at selling price (with [[city|Cities]] and [[Incinerator|Incinerators]] being an exception). Industries that are initially placed on the map cannot be demolished, while Industries that the player places can be demolished for 50% of their original value (100% if the industry has not produced or received any freight). Industries can be upgraded multiple levels, doubling their storage capacity for inputs and outputs as well as giving a +50% speed bonus based on its base speed. Industries can naturally hold 4 production cycles worth of input and output freight. The cost of upgrading an industry begins at 2046 yen (¥) with the cost doubling with each progressive tier. Industries can be catalyzed with their requested catalyst for a +50% speed bonus based on its base speed. And industry can only store 4 catalysts at a time and consumes a catalyst over the course of 90 seconds. The maximum level an industry can reach is Level 5 The way industries are sorted in game is based on their Tier. An industry's tier always 1 tier above the highest tier input it consumes (ie. if an industry consumes energy, a tier 1 freight, in its recipe then it will be classified as Tier 2. ==== Resource Extraction ==== {{IndustryTableHeader|Resource Extraction Industry| {{IndustryDataParser|Water Pump}} {{IndustryDataParser|Oil Well}} {{IndustryDataParser|Geothermal}} {{IndustryDataParser|Coal Mine}} {{IndustryDataParser|Copper Mine}} {{IndustryDataParser|Iron Mine}} {{IndustryDataParser|Silica Quarry}} }} ==== Industry Tier 1 ==== {{IndustryTableHeader|Tier 1 Industry| {{IndustryDataParser|Coal Powerplant}} {{IndustryDataParser|Oil Powerplant}} {{IndustryDataParser|Oil Refinery}} {{IndustryDataParser|Steel Mill}} {{IndustryDataParser|Salt Refinery}} {{IndustryDataParser|Plasticizer}} {{IndustryDataParser|Hardmold}} {{IndustryDataParser|Solva}} {{IndustryDataParser|Wire Coiler}} {{IndustryDataParser|Concrete Yard}} }} ==== Industry Tier 2==== {{IndustryTableHeader|Tier 2 Industry| {{IndustryDataParser|Appliance Plant}} {{IndustryDataParser|Incinerator}} {{IndustryDataParser|Tool Die}} {{IndustryDataParser|Glass Smelter}} {{IndustryDataParser|Coal Gassifier}} {{IndustryDataParser|Electronics Fab}} {{IndustryDataParser|Hullyard}} {{IndustryDataParser|Neon Refinery}} {{IndustryDataParser|Booster Plant}} {{IndustryDataParser|Furniture Assembler}} {{IndustryDataParser|Motor Assembly}} {{IndustryDataParser|Paperclip Stamper}} }} ==== Industry Tier 3==== {{IndustryTableHeader|Tier 3 Industry| {{IndustryDataParser|Rocket Factory}} {{IndustryDataParser|CPU Fab}} {{IndustryDataParser|Signworks}} {{IndustryDataParser|Luxury Assembler}} {{IndustryDataParser|Heavyworks}} }} ==== Industry Tier 4==== {{IndustryTableHeader|Tier 4 Industry| {{IndustryDataParser|Tube Plant}} {{IndustryDataParser|Framer}} {{IndustryDataParser|Grey Assembly}} {{IndustryDataParser|Armory}} {{IndustryDataParser|WorkRocket Platform}} {{IndustryDataParser|SpaceLiner Platform}} }} ==== Industry Tier 5==== {{IndustryTableHeader|Tier 5 Industry| {{IndustryDataParser|Compute Platform}} {{IndustryDataParser|The Mechanist}} }} ==== MegaProjects ==== {{IndustryTableHeader|Special Industries| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}} {{IndustryDataParser|Reclamation Engine}} }} === Rail Tiles === Tiles that dictate how the player's [[:category:trains|trains]] move and interact with Industries, Megaprojects and Infrastructure. * [[Track]] * [[Stations]] * [[Switches]] === Infrastructure === Typically preplaced on the map and not buildable by the player. * [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] * [[Zeppelin Dock]] * [[Import Dock]] * [[Worker Housing]] === Megaproject Construction === Large structures that are preplaced on the map * [[Rollercoaster Park]] * [[Regional HeadQuarters]] * [[Reclamation Engine|Reclamation Engine (Destroyed and Reconstructed Variants)]] * [[Atmospheric Seeder|The Experimental Atmospheric Seeder and Steam Boilers]] === Sandbox Mode Only === * [[Research Center]] 1aea9685ce8773a4bdaac4c3a109481ef206e55c Research Center 0 354 1394 2024-02-06T05:03:33Z Hiroteashi 379511 Created page with "==Infomation== [[category:Structures]] {{StructureInfoBox|name=Research Center|cost=16384|length=2|width=3}} The Research Center is a structure only available in [[Sandbox Mode|Sandbox]] and is what allows the player to advance in technology. In order to conduct research, a technology needs to selected and there must be at least one Research Center with the necessary freight in its stockpile. Multiple well stocked Research Stations will work in parallel to increase..." wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Research Center|cost=16384|length=2|width=3}} The Research Center is a structure only available in [[Sandbox Mode|Sandbox]] and is what allows the player to advance in technology. In order to conduct research, a technology needs to selected and there must be at least one Research Center with the necessary freight in its stockpile. Multiple well stocked Research Stations will work in parallel to increase the speed of researching. Any Center that is missing a required resource will not contribute to research. All Research Centers can be upgraded like an Industry to increase its research speed, but it cannot be catalyzed for any additional speed. It has a stockpile capacity of 32 units for each of the 4 classes of material it requests. Note that Freight delivered to the Research Center do not generate any money for the player. {| class="wikitable customTable" |+ City Requirements |- ! class="customTableHeader"|Category!! class="customTableHeader"colspan="3"|Freight |- | class="customTableData"|Base Power || {{Item|Energy}}|||| |- | class="customTableData"|Refined Materials|| {{Item|Reactives}} || {{Item|Concrete}} || {{item|Widgets}} |- | class="customTableData"|High-Tech Components || {{Item|CPU}} || {{Item|Motor}}|| |- | class="customTableData"|Propulsion Materials || {{Item|Rockets}} || {{Item|Hulls}} || {{item|Retrograde}} 26e6dca5651a3a1e99d34f7ecb67e85d13f7a04a 1395 1394 2024-02-06T05:04:22Z Hiroteashi 379511 wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Research Center|cost=16384|length=2|width=3}} The Research Center is a structure only available in [[Sandbox Mode|Sandbox]] and is what allows the player to advance in technology. In order to conduct research, a technology needs to selected and there must be at least one Research Center with the necessary freight in its stockpile. Multiple well stocked Research Stations will work in parallel to increase the speed of researching. Any Center that is missing a required resource will not contribute to research. All Research Centers can be upgraded like an Industry to increase its research speed, but it cannot be catalyzed for any additional speed. It has a stockpile capacity of 32 units for each of the 4 classes of material it requests. Note that Freight delivered to the Research Center does not generate any money. {| class="wikitable customTable" |+ City Requirements |- ! class="customTableHeader"|Category!! class="customTableHeader"colspan="3"|Freight |- | class="customTableData"|Base Power || {{Item|Energy}}|||| |- | class="customTableData"|Refined Materials|| {{Item|Reactives}} || {{Item|Concrete}} || {{item|Widgets}} |- | class="customTableData"|High-Tech Components || {{Item|CPU}} || {{Item|Motor}}|| |- | class="customTableData"|Propulsion Materials || {{Item|Rockets}} || {{Item|Hulls}} || {{item|Retrograde}} 7c519cbc39d9d1c8bf55e0a3c49a5c317465897d Railgrade Wiki 0 1 1396 1324 2024-02-06T05:08:54Z Hiroteashi 379511 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ __NOTITLE__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official <em>{{SITENAME}}</em></h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --><p>Join our Community on [https://discord.gg/RqtFYjQ7 Discord]!</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Railgrade</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Railgrade]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Design your own Maps:''' Use the in game Map Maker to create your own missions and share them online through the Steam Workshop * '''Explore the Sandbox:''' Try an alternate way of playing by generating a procedural map and using Research Centers to unlock new technologies * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] fcd4243fe93aac1683242f72746e6d081b9abafa Exos Nil 0 302 1397 851 2024-02-06T05:20:02Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Exos Nil |number = 27 Bonus D |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Exos Nil{{!}}{{!}}Launch 8 SpaceLiners at quest Platform |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[The Mechanist]] (Quest Structure) * 1x Zeppelin Dock * 1x Import Dock - Importing 64 Coal per Minute * 1x Import Dock - Importing 64 Crude Oil per Minute * 1x Import Dock - Importing 32 Water per Minute * 1x Import Dock - Importing 32 Silica per Minute * 1x Import Dock - Importing 16 Copper per Minute * 1x Import Dock - Importing 16 Iron per Minute * 4x Worker Housing * Bank * Accountancy * Voucher Exchange ==Transcript== ====Objective Text==== {{blockquote | text = A mysterious message has overpowered itself onto your terminal. It speaks of gifts for all and emplores you to supply ""The Mechanist"" with fresh arms. Robot Arms to be exact. In exchange you'll be rewarded deerly. Resources have been diverted from across the regions. Assembra Catalyst will be required. Who ever sent this message is special. | signature = Exos Nil }} ==Trivia== The name and premise of the mission was inspired by the overarching concept of [https://store.steampowered.com/app/1593030/Terra_Nil/ Terra Nil], where a player is tasked with restoring nature on a over exploited planet. For Exos Nil, [[The Mechanist]] is trying to rebuild 'nature' by spawning new herds of [[robot deer]] 3b60c9877c6eeaa80940d6b98720c78d1f15619f The Mechanist 0 172 1398 1310 2024-02-06T05:21:17Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|The Mechanist}}}} A sole mechanist's workshop. No one knows where he learned his craft. Day in and day out he crafts robotic deer from any Robot Arms delivered to his workshop. ===Barks=== * I love robots * Aren't they so cute? * Everyone robot made with care * Stay out of traffic! 96ac03efea346bbfd6df82b9482bf83e692bfc92 1399 1398 2024-02-06T05:21:57Z Hiroteashi 379511 /* Description */ wikitext text/x-wiki [[category:Structures]] ===Description=== A sole mechanist's workshop. No one knows where he learned his craft. Day in and day out he crafts robotic deer from any Robot Arms delivered to his workshop. {{IndustryTableHeader|Recipe| {{IndustryDataParser|The Mechanist}}}} ===Barks=== * I love robots * Aren't they so cute? * Everyone robot made with care * Stay out of traffic! b4ad22e3caadf7a8e7df0fcf4557350949501ae6 Snow Spearhead 0 298 1400 844 2024-02-06T05:36:57Z Hiroteashi 379511 /* Transcript */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Snow Spearhead |number = 25 Bonus |prevMissions = [[Flying Steel]] |biome = Tundra |money = 47000 |objectives = {{!}}Spearhead{{!}}{{!}}Increase Spearhead City's population by 4 |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * City Resources Train - 3x Bullet Engine, 10x Steel, 5x Energy, 2x Furniture, 1x Luxury Room, 1x Television freight cars * 1x Spearhead [[City]] - Level 4 (Quest Structure) * 3x Coal Mine - Level 5 * 2x Furniture Assembler * 1x CPU Fab - Level 1 * 1 Neon Refinery - Level 1 * 3x Coal Gassifier * Intermediates Train - 1x Spark, 2x DieselDeluxe Engine, 4x Glass, 4x CPU, 4x Plastic, 8x Wire freight cars * 1x City - Level 3 * 1x Tube Plant - Level 4 * 1x Luxury Assembler * 1x Hull Yard * 2x Hardmold * Raw Materials Train - 2x Rescue, 2x Industrial Engine, 8x Coal, 8x Silica, 8x Copper, 8x Iron, 4x Waste freight cars * 1x City - Level 2 * 1x Coal Powerplant - Level 1 * 1x Glass Smelter * 1x Steel Mill - Level 1 * 2x Wire Coiler * 1x Iron Mine - Level 5 * 1x Copper Mine - Level 5 * Bank * Accountancy * Voucher Exchange ==Transcript== ====Preamble==== {{blockquote | text = Congratulations! You are now months behind schedule. The schedule I told the board that is. LOL. Your task was simple; grow a single city a single growth cycle. Such a quick task, yet you’ve ignored it for ages. Almost as if no one ever told you about it… Oh well. Better do that now. Also no new trains. For “budget” reasons. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Your puzzle is to grow the region’s largest and wealthiest City: Spearhead. Under your control: a Resource Train, an Intermediates Train, and the final Growth train. The Growth train when loaded to capacity and delivered to the correct city will supply one cycle of growth thus completing your task. Figuring out the rest is up to you. | signature = Spearhead }} ====Afterword==== {{blockquote | text = The board was surprised and disappointed to hear you required such long preparation time for such a short task. Saito had given them a wrongly elevated opinion of your abilities. All this time they thought it was your efforts and skill which had returned the colony to prosperity. | signature = {{Signature-jeff-2}} }} ==Trivia== This mission was inspired by the South Korean film "Snowpiercer (2013)". In the film, a global freeze forced the population to embark on a self-sufficient train to avoid extinction. The survivors eventually formed a class system based on their position on the train and the movie is based around the social tension and politics play out. 62f61e28c13cd1f6deb3ad23ca637ba6c6b56aee Frozen Dam 0 284 1401 813 2024-02-06T05:43:59Z Hiroteashi 379511 /* Transcript */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Frozen Dam |subtitle = Mobile Computers |number = 23 Branch A |prevMissions = * [[Heavy Arms]] * [[Spacefleet Spares]] |nextMissions = * [[Prime Slime]] * [[Cratered]] |biome = Tundra |money = 29000 |objectives = {{!}}Mobile Computing{{!}}{{!}}Launch 12 Compute Rockets at quest structure |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Compute Platform]] (Quest Structure) * 3x Wire Coiler * 1x Steel Mill * 5x Coal Mine - Level 5 * 5x Oil Well - Level 5 * 4x Copper Mine * 3x Iron Mine * 3x Silica Quarry * 6x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Mission Completion * Compute Platform Industry * WorkRocket Platform Industry * The Mechanist Industry unlocked for purchase ==Transcript== ====Preamble==== {{blockquote | text = Excellent work as always! I've got two words for you: Mobile Computers. Traditional computers are big immobile rooms, right? Our lawyers just negotiated rights to the future: Mobile Computers. Turns out, the trick was to add rockets. Let’s get some made! | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = A giant hydroelectric dam was planned for this region during terraformation. Sadly no one checked the ambient temperature. Every drop of water, save a couple geothermal springs, is frozen solid. Hide your Compute Rocket industry inside this frozen bowl and make the future! Long rumoured but always stuck in licensing, the Mobile Computer has been the dream of computerists for hundreds of years. Now by luck, Nakatani Chemicals worked out the licensing nightmare to this lucrative industry. All you have to do is build them. | signature = Mobile Computing }} ====Afterword==== {{blockquote | text = Bad news - the board had a couple rather pointed questions about your Mobile Computers. Considering their line of questioning, I think you might be in trouble. They say your licenses were forgeries! How could you do this to us! I’ll try to assure them you never intended to sell anything illegal. I should be able to smooth things over, leave it to me. I’ll save you. | signature = {{Signature-jeff-2}} }} ==Trivia== The map is very loosely refencing the terrain and final mission of "Ace Combat Zero: The Belkan War," where in which the protagonist has to prevent an ICBM launch at a defunct dam. a26ef96d45695b2fe73e7b3bf525e3ffef59f2c5 Atmospheric Seeder 0 345 1402 1368 2024-02-06T05:51:07Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki [[Category:structures]] ==Info== The Atmospheric Seeder refers to two different entities, one being the construction MegaProject and the other one being the functional completed version. The full name of the Structure is "The Experimental Atmospheric Seeder," and is sometimes abbreviated as TEAS in text logs. It was originally designed to use deep ground water to generate Clouds for the purposes of increasing precipitation and ultimately climaforming the desert region into as less extreme biome. ===MegaProject Version=== {{StructureInfoBox|name=Atmospheric Seeder|length=6|width=6 |requirements= 1024x {{item|Concrete}}<br /> 512x {{item|Steel}}<br /> 256x {{item|Heavy Tools}}<br /> 128x {{item|Mainframes}}<br /> 256x {{item|Motor}} }} The Atmospheric Seeder is the set piece of [[Dusty with a Chance of Rain]] where the player has to deliver construction materials to the worksite. Upon completion, the structure began belching clouds of toxic purple mist, putting the TEAS Project on hiatus until the the solution of the problem is found. Game mechanics-wise, MegaProjects require a set amount of [[:category:freight|Freight]] delivered in order to complete them. The MegaProject will buy a required Freight at full price until its stockpile is full and will refuse to buy more afterwards. If the player was relying on sales to the Megaproject for revenue, then this aspect can adversely affect the player's generated income. ===Industry Version=== The functional Atmospheric Seeder is a extremely high throughput Industry featured in [[Brewing Up a Storm]]. Because of its short production time the Industry requires constant deliveries of {{item|Steam Tank}} to remain functional. To provide the needed Steam, the region includes 3 preplaced '''Steam Boilers''', an industry that is also unique to the region. Players will have to upgrade them heavily to keep up with the demands of the TEAS The additives {{item|Assembra}} and {{item|Solvent}} are necessary to clean the steam of any potential blight. {{IndustryTableHeader|TEAS and Adjacent Industry| {{IndustryDataParser|Atmospheric Seeder}} {{IndustryDataParser|Steam Boiler}}}} ===Trivia=== * The blight that infects the completed Megaproject version of the Structure is a nod to the Blightrot in the game [https://store.steampowered.com/app/1336490/Against_the_Storm/ Against the Storm]. Perhaps the Assembra might have some negative effect on the Storm the TEAS generates... * It was purely accidental that the full name of the '''T'''he '''E'''xperimental '''A'''tmospheric '''S'''eeder came out of the TEAS. The theme of the campaign arc and the tea adjacent mission name was already established before someone noticed the acronym fcb9f238aef3c61745418dbcb6706ab39f27c6ea Railgrade Wiki 0 1 1403 1396 2024-02-06T05:53:25Z Hiroteashi 379511 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ __NOTITLE__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official <em>{{SITENAME}}</em></h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --><p>Join our Community on [https://discord.gg/RqtFYjQ7 Discord]!</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Railgrade</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Railgrade]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Design your own Maps:''' Use the in game Map Maker to create your own missions and share them online * '''Explore the Sandbox:''' Try an alternate way of playing by generating a procedural map and using Research Centers to unlock new technologies * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] 0d0ced081525b883f08598b559ae4d0628ae5743 1404 1403 2024-02-06T05:55:19Z Hiroteashi 379511 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ __NOTITLE__ <div id="mainpage-wrap"><div class="content-wrap"><!-- --><div class="l"><!-- --><div class="header box"><!-- --><div class="welcome"><!-- --><h2>Welcome to the Official <em>{{SITENAME}}</em></h2><!-- --><p>The Official {{SITENAME}} is written and maintained by the players.</p><!-- --><p>Please feel free to contribute by creating new articles or expanding on existing ones.</p><!-- --><p>Join our Community on [https://discord.gg/RqtFYjQ7 Discord]!</p><!-- --></div><!-- --></div><!-- --><div class="box game"><!-- --><h2>About Railgrade</h2><!-- --><div><!-- -->[[File:Keyart.jpg|360px|link=]]<!-- --><div><!-- --><p>[[Railgrade]] is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! </p><!-- --></div><!-- --></div><!-- --></div><!-- --><div class="box feature"><!-- --><h2>Features</h2><!-- --> * '''Build Trains and Industry:''' Construct intricate railway networks and use the power of trains to connect vital industries with the resources they require * '''Extensive Mission Based Campaign:''' Help restore prosperity to an industrial colony across a single player campaign with over 50 missions * '''Design your own Maps:''' Use the in game Map Maker to create your own missions and share them online * '''Explore the Sandbox:''' Try an alternate way of playing by generating a procedural map and using Research Centers to unlock new technologies * '''Resource Management:''' Use effortless construction tools to instantly build and manage a busy railway network packed by trains <!-- --></div><!-- --><div class="box topics"><!-- --><h2>Topics</h2><!-- --> * [[:category:Structures|Placeable Structures and Buildings]] * [[:category:freight|Freight Types]] * [[:category:trains|Train Engines]] * [[:category:missions|Missions]] * [[Tips and Tricks]] <!-- --></div><!-- --></div><!-- --><div class="r"><!-- --><div class="box gallery"><!-- --><h2>Gallery</h2><!-- --><ul><!-- --><li>[[File:screenshot1.jpg|x180px]]</li><!-- --><li>[[File:screenshot2.jpg|x180px]]</li><!-- --><li>[[File:screenshot3.jpg|x180px]]</li><!-- --><li>[[File:screenshot4.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot5.jpg|x180px]]</li><!-- --><!--<li>[[File:screenshot6.jpg|x180px]]</li><!-- --></ul><!-- --></div><!-- --><div class="box comm"><!-- --><h2>Wiki Community</h2><!-- --><div> We are currently maintaining [[Special:Statistics|{{NUMBEROFPAGES}} pages ({{NUMBEROFARTICLES}} articles)]]!<br> <small style="margin-left:2em;">[[Special:Recentchanges|Recent changes]] {{!}} [[Special:Newpages|New pages]] {{!}} [[Special:Wantedpages|Missing pages]]</small> ;How to help : See how you can help contribute to {{SITENAME}}! Remember to maintain a standard for grammar and punctuation in your contributions, please. <inputbox> type= create width= 30 placeholder=Title of your article </inputbox> ;[[Special:Userlogin|Register]] : Register an account to keep track of your contributions. </div><!-- --></div><!-- --></div><!-- --></div><!-- .content-wrap --> <div class="footer note"><div><span>Changes to this main page</span> <span>can be proposed [[{{SITENAME}}/editcopy|here]]</span></div></div> </div><!--#mainpage-wrap--> [[category:{{SITENAME}}| ]] 1b6cd3eaa8b817416e155ade168ab6c7c7003b67 City 0 343 1405 1333 2024-02-06T05:56:18Z Hiroteashi 379511 wikitext text/x-wiki ==City== [[category:structures]] {{StructureInfoBox|name=City|cost=65,536|length=1|width=1}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox]] Modes of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Each tier of demand has a stockpile where it can store Freight until it gets consumed. The size of the stockpile is determined by the following: <code>Stockpile Size = max(5 * Demand Quanity, 16)</code>. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Pop Increase per Cycle!! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || <div class="aligncenter">55</div> || <div class="aligncenter">1</div> || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || <div class="aligncenter">128</div> || <div class="aligncenter">2</div> || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || <div class="aligncenter">256</div> || <div class="aligncenter">4</div> || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || <div class="aligncenter">512</div> || <div class="aligncenter">8</div> || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || <div class="aligncenter">1024</div> || <div class="aligncenter">4</div> || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war 65ffdde4e6f43f5f52e7ef53c51c20b29ad31cd1 1406 1405 2024-02-06T05:56:39Z Hiroteashi 379511 wikitext text/x-wiki ==City== [[category:structures]] {{StructureInfoBox|name=City|cost=65,536|length=1|width=1}} The City is one of the most important structures in both the [[:category:missions|Campaign]] and [[Sandbox Mode]] of play. Cities are the player's main source of [[Workers]], with the only other source being the [[Worker Housing]] structure which is unbuildable and unique to the Campaign. Cities by default start at Level 0 with a population of 55. By feeding the City [[:category:freight|Freight]] that it can use, the player can grow the City's population and increase its Level to a maximum of Level 5. Initially the City is not placeable, but the ability to purchase and place them will unlock upon completing the [[Last Job| Campaign]]. ===City Population Growth & Levels === Cities do not grow naturally and require Freight deliveries to initiate a growth cycle. Each growth cycle adds population to the City and once it reaches a threshold, it will Level up. A growth cycle takes 4 seconds to complete and consumes part of the City's stockpile. Cycles can be sped up by +100% by providing freight belonging to the next Level's requirements. A City will begin requesting a new set of Freight on top of the existing requirements with each Level advancement. The main reason to grow a City is for its Workers. As it grows, the pool of Workers available to the player will increment by 1 for every 8 population in the City. Multiple Cities, if present, will contribute to the player's total Worker pool. The City automatically generates housing structures as its population increases, claiming more tile space around the central hub. The type of housing structures generated depend on the City's level. A Level 0 city will consist of only low capacity housing while a Level 5 City will have a plethora of skyscrapers with smaller less efficient buildings on the outer fringes. As a result, a City will take up more space the higher its level and population, but the efficiency of the space utilization increases as well. There are no passive mechanics in game that will cause population loss. The player stop selling to a City without any ill effect on the City. Rather, the only way a City's population can shrink is by building [[Track]] through the City and thereby destroy housing structures. Doing so will also affect how many Workers the player has since the Worker count is based directly on population. Cities however will automatically increase their population and rebuild housing if they drop below the minimum population for their Level. === City Freight Deliveries === The City's Level changes the variety of Freight it needs, adding a new tier of resource requests on top of the existing ones. The City does not care about what kind of Freight it receives as long as the freight belongs to a required tier. For example: for fulfilling tier 0 demand, 1x {{Item|Water}} is interchangeable with 1x {{Item|Steel}} to a Level 0 City. The amount of freight a City requires is based on its Level, with larger, more populous Cities demanding larger quantities for initiating a growth cycle. Each tier of demand has a stockpile where it can store Freight until it gets consumed. The size of the stockpile is determined by the following: <code>Stockpile Size = max(5 * Demand Quanity, 16)</code>. Cites uniquely can buy Freight while at full capacity. If there is room available for the Freight being delivered, the City will pay the player full price for the purchase. Otherwise, selling to a demand that is already full is only give 50% of the freight's value. ===Info=== {| class="wikitable cargoTable noMerge customTable" |+ City Requirements |- ! class="customTableHeader"|City Level !! class="customTableHeader"|Minimum Population !! class="customTableHeader"|Pop Increase per Cycle!! class="customTableHeader"|Freight Requirements |- | class="customTableData"|Level 0 || <div class="aligncenter">55</div> || <div class="aligncenter">1</div> || {{Item|Water}}, {{Item|Salt}}, {{Item|Wire}}, {{Item|Steel}} |- | class="customTableData"|Level 1 || <div class="aligncenter">128</div> || <div class="aligncenter">2</div> || {{Item|Energy}}, {{Item|Concrete}}, {{Item|Widgets}} |- | class="customTableData"|Level 2 || <div class="aligncenter">256</div> || <div class="aligncenter">4</div> || {{Item|Furniture}}, {{Item|Appliances}}, {{Item|Glass}} |- | class="customTableData"|Level 3 || <div class="aligncenter">512</div> || <div class="aligncenter">8</div> || {{Item|Luxury Rooms}}, {{Item|Signage}}, {{Item|CPU}} |- | class="customTableData"|Level 4 || <div class="aligncenter">1024</div> || <div class="aligncenter">4</div> || {{Item|Televisions}}, {{Item|Mainframes}}, {{Item|RobotArm}} |} ===Barks=== * If I was paid in money I'd be rich! * Space travel is so expensive * I hope my kids can pay off our contract * I heard Earth has animals * Loans are just a fact of life * City life sure beats space travel * Uphill both ways, two hill problems. * Education is for the earthly * Earthers are all alike, us Spacers don't need 'em * Is it too much to ask for more architectural plans!? * I wish Nakatani licensed a few more blueprints for variety * Which one is my house? * I think I've seen that building before * I'd break my contract but my family is here * Thanks to Nakatani we're safe from other employers * A happy boss is a happy life * Labour unrest is dangerous * I support the Nakatani Tax * Nakatani owns everything yet is losing money?! * Monopolies are a fiction to scare kids * Put nothing to paper, leave everything unsaid * Unwritten numbers are unauditable numbers * If anything the Nakatani tax is generous * Third parties; credit thieves the lot * Market share is meaningless * Competition is dangerous * I do not like bidding wars, I hate war e9244ca153402fcabd90de74b1c1b0a0efb96fe2 Railgrade 0 221 1407 693 2024-02-07T06:59:36Z JustLeafy2k3 396175 wikitext text/x-wiki {{stub}} {{DISPLAYTITLE:''Railgrade''}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Minakata Dynamics |publisher=Minakata Dynamics, Gamera Games |release=October 12, 2023 |platform=PC }} '''''Railgrade''''' is a train resource management game developed by Minakata Dynamics and published by Gamera Games and Minakata Dynamics. It was released on Steam for Microsoft Windows on October 12, 2023. == Premise == ''RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! [[Category:Railgrade| ]] 9a63b9d00aff24213169c781e32403d909f6b6b5 1408 1407 2024-02-07T07:00:13Z JustLeafy2k3 396175 wikitext text/x-wiki {{stub}} {{DISPLAYTITLE:''Railgrade''}} {{InfoboxGame |title= |image=keyart.jpg |caption=Game keyart |developer=Minakata Dynamics |publisher=Minakata Dynamics, Gamera Games |release=October 12, 2023 |platform=PC }} '''''Railgrade''''' is a train resource management game developed by Minakata Dynamics and published by Gamera Games and Minakata Dynamics. It was released on Steam for Microsoft Windows on October 12, 2023. == Premise == ''RAILGRADE is a train resource management game! Construct dense vertical railroads, build cities, construct vast factory chains with train automation! Restore an off world colony's economy all in the story driven campaign! == External links == *[https://store.steampowered.com/app/1355090/RAILGRADE/ RAILGRADE on Steam] [[Category:Railgrade| ]] 5c26fb9ba568790c88dabd032a712a62240da9d1 Module:Industry/Data 828 303 1409 1337 2024-02-08T00:25:05Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {3,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas","Wire"}, inputCounts = {1,1,2}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 9, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {}, outputCounts = {} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p 50cf577b0bc62f6027b532c3d587be8ff6c40775 Electronics Fab 0 153 1410 1291 2024-02-08T00:25:56Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Electronics Fab}} }} ===Barks=== * Quality assurance is on notice * Try turning it off and on * Problem is between keyboard * Careful, Fragile 539124384f54a59f503fd4ad9733ee3b021be21a Tips and Tricks 0 355 1411 2024-02-09T14:05:00Z Hiroteashi 379511 Created page with "== Track Layout == * It may be tempting to only make loops of track in Railgrade. This can get expensive really quickly. Sometimes 2-way single-line track with one train is all that is needed to keep up with an industry's needs and can be upgraded to a 1-way 2-line later when the need calls for it. * Other train games tend to make the track system interconnected, with a main line and arterials draining from it. Railgrade on the other hand encourages keeping train line..." wikitext text/x-wiki == Track Layout == * It may be tempting to only make loops of track in Railgrade. This can get expensive really quickly. Sometimes 2-way single-line track with one train is all that is needed to keep up with an industry's needs and can be upgraded to a 1-way 2-line later when the need calls for it. * Other train games tend to make the track system interconnected, with a main line and arterials draining from it. Railgrade on the other hand encourages keeping train lines separate, using verticality to bypass other tracks. Keeping lines separate can allow for faster problem solving and prevents the "Switch all trains" action from interfering with trains outside of the loop. *Alternating tracks are useful for splitting lines. If there is room, one can have a single line deliver to 3 separate industries in equal amounts. Other fancy things can be done like having a 1:2 split by having 2 of the 3 lines merge. Just make sure that the merge occurs much further down the line because trains will look ahead and take a different branch then expected if it sees another train up the line. == Station Usage == * Stations have a significant upkeep price (6¥ per minute). It is best to not utilize the max 6 tile station length at the start until a healthy revenue stream exists. * A station's length determines how many actions a train can take every "turn." For example, a 6 tile station will take 2 "turns" to service a train with 8 freight cars. One can be more efficient with their money by downgrading the station's length to 4 for the same effect. * Placing a station actually increases the length of track-end caps. This becomes very useful for fitting longer trains into compact shuttle style set-ups * Trains will always load at a station once when they arrive. If a player wants to keep a train from being pushed out early, they should try dividing that one station into multiple segments. <br/ > ::For example, a train with 8 freight cars arrives at an industry with another train close behind it and the industry has two stations of 4 length in series. The front train will stop at the first station and load 4 freight, but will then get pushed out by the train behind it. It will then move to the next station in line and load 4 more freight, resulting in a full train leaving the industry. ==Cities== *Cities can take freight as a catalyst. This might not seem useful since a City's growth cycle is already relatively fast. But because the Catalyst is always the City's requirements for growth in its next level, having catalyst being delivered already ensures that the player has the necessary infrastructure in place for growing the city and giving it an initial growth spurt from the freight already there. * It might seem like a waste to create freight that is only used in the City: such as Salt, Concrete, Appliances, Signage and TVs. But these items are typically simple to make and efficient with the amount of materials needed. Sometimes the Industry involved is also much cheaper than the other industries of its tier while maintaining the same freight sell value - so keep an eye out for them! ==Waste== * Waste can be very useful but also headache inducing. Sometimes an industry produces so much that even sending it all to the mines cannot consume it all. One strategy is to have an Incinerator right next to the Waste producing industry. That way if a train delivering Waste to the mines comes back with some waste, it will drop it off at the incinerator before picking up more waste from the producing industry. ==Bank== * Make sure to use the deposit function in the Bank frequently. While the interest earned from the Bank is rather pitiful, the money can help offset any upkeep costs and keep your profit looking healthier. And because the player's profits look healthy, the Bank will be willing to let them borrow larger amounts than if they didn't engage in such a strategy. 8f20abd59fe31218f9179548f22f391d7db003fa File:Map Exos Nil.png 6 356 1412 2024-02-09T14:09:09Z Hiroteashi 379511 Screenshot of Exos Nil region's starting layout wikitext text/x-wiki == Summary == Screenshot of Exos Nil region's starting layout 92a2b67f4aa0a6a21442af65459cfdfe3d5e257d 1415 1412 2024-02-09T14:19:02Z Hiroteashi 379511 /* Summary */ wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Exos Nil region's starting layout 86976414bd5f981178c11c7a50e0d028a866fb7d Exos Nil 0 302 1413 1397 2024-02-09T14:11:34Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Exos Nil |number = 27 Bonus D |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Exos Nil{{!}}{{!}}Produce an average of 1.8 [[Robot Deer]] per minute |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[The Mechanist]] (Quest Structure) * 1x [[Zeppelin Dock]] * 1x [[Import Dock]] - Importing 64 [[Coal]] per Minute * 1x Import Dock - Importing 64 [[Crude Oil]] per Minute * 1x Import Dock - Importing 32 [[Water]] per Minute * 1x Import Dock - Importing 32 [[Silica]] per Minute * 1x Import Dock - Importing 16 [[Copper]] per Minute * 1x Import Dock - Importing 16 [[Iron]] per Minute * 4x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] ==Transcript== ====Objective Text==== {{blockquote | text = A mysterious message has overpowered itself onto your terminal. It speaks of gifts for all and emplores you to supply ""The Mechanist"" with fresh arms. Robot Arms to be exact. In exchange you'll be rewarded deerly. Resources have been diverted from across the regions. Assembra Catalyst will be required. Who ever sent this message is special. | signature = Exos Nil }} ==Trivia== The name and premise of the mission was inspired by the overarching concept of [https://store.steampowered.com/app/1593030/Terra_Nil/ Terra Nil], where a player is tasked with restoring nature on a over exploited planet. For Exos Nil, [[The Mechanist]] is trying to rebuild 'nature' by spawning new herds of [[robot deer]] 5916ba90cb8b7282f0fa4104a6c891671f21b8a9 1414 1413 2024-02-09T14:13:57Z Hiroteashi 379511 /* Info */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Exos Nil |number = 27 Bonus D |prevMissions = [[Last Job]] |biome = Tundra |money = 47000 |objectives = {{!}}Exos Nil{{!}}{{!}} Produce an average of 1.8 [[Robot Deer]]<br /> per minute at quest [[Mechanist]] |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[The Mechanist]] (Quest Structure) * 1x [[Zeppelin Dock]] * 1x [[Import Dock]] - Importing 64 [[Coal]] per Minute * 1x Import Dock - Importing 64 [[Crude Oil]] per Minute * 1x Import Dock - Importing 32 [[Water]] per Minute * 1x Import Dock - Importing 32 [[Silica]] per Minute * 1x Import Dock - Importing 16 [[Copper]] per Minute * 1x Import Dock - Importing 16 [[Iron]] per Minute * 4x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] ==Transcript== ====Objective Text==== {{blockquote | text = A mysterious message has overpowered itself onto your terminal. It speaks of gifts for all and emplores you to supply ""The Mechanist"" with fresh arms. Robot Arms to be exact. In exchange you'll be rewarded deerly. Resources have been diverted from across the regions. Assembra Catalyst will be required. Who ever sent this message is special. | signature = Exos Nil }} ==Trivia== The name and premise of the mission was inspired by the overarching concept of [https://store.steampowered.com/app/1593030/Terra_Nil/ Terra Nil], where a player is tasked with restoring nature on a over exploited planet. For Exos Nil, [[The Mechanist]] is trying to rebuild 'nature' by spawning new herds of [[robot deer]] 9b551a4dc764eeb9befde8b4bacfdeac0108fdfd File:Map Branch Control.png 6 357 1416 2024-02-09T14:19:29Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Branch Control region's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Branch Control region's starting layout b6a059b4ef610f0830dbf5661a3ae042daaeb158 Branch Control 0 181 1417 510 2024-02-09T14:20:01Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] ==Info== {{missionInfoBox |name = Branch Control |number = T2 |prevMissions = [[Track & Train]] |nextMissions = [[Industrial Chain Primer]] |biome = Tundra |money = 7000 |objectives = {{!}}City Validation{{!}}{{!}} Have the quest [[City]] consume 1 [[Water]] input |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x [[Water Pump]] ==Transcript== ====Preamble==== {{blockquote | text = Please do not laugh. Truth be told, I tried the self-checks before you were assigned to our division. I thought if I could master the control terminal then I could start fixing the colony’s economy myself. Instead I got the self-check region’s train stuck. It just goes around and around, never arriving at the station. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Afterword==== {{blockquote|text = Thanks for clearing that branching mess. You made it look so easy. Please keep this pace, or faster. Faster is preferable. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} c1789478e1049a771dc194e1c21ea3f815dc1762 File:Map Industrial Chain Primer.png 6 358 1418 2024-02-09T14:21:48Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Industrial Chain Primer region's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Industrial Chain Primer region's starting layout 5a1ab90feb97399659d7aca928782ac48fc7627b Industrial Chain Primer 0 187 1419 518 2024-02-09T14:22:45Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Industrial Chain Primer |number = T3 |prevMissions = [[Branch Control]] |nextMissions = [[First Job]] |biome = Tundra |money = 7000 |objectives = {{!}}Industrial Validation{{!}}{{!}}Produce 4 [[Steel]] at quest [[Steel Mill]] |partimeM = 5 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Steel Mill]] (Quest Structure) * 1x [[Coal Mine]] * 1x [[Iron Mine]] * 1x [[Worker Housing]] ==Transcript== ====Preamble==== {{blockquote | text = The manual introduces this self-check as “validate combinatory industrial chain handling”, but I think in plain words it means to ensure factories use the multiple input freight to create finished freight, which is pretty important. After all, the essence of any colony’s economy is combining inputs into outputs and sending those outputs as inputs to another factory. Layer that formula many tiers deep and you get yourself an economy capable of sending Rockets to space. | signature = {{signature-saito-1}} }} ====Afterword==== {{blockquote | text = Yet again you passed that test with flying colors. You are good at this. You must have studied during your trip to the colony. Either that or you are hacking the terminal to report false completion times. Please do not hack company computers. It is against departmental policy. | signature = {{signature-saito-1}} }} 447da97dfe302a0278cc69ad4f258a83ff4c148e File:Map First Job.png 6 359 1420 2024-02-09T17:52:03Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of First Job region's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of First Job region's starting layout 4201f061540753a67407c0246115c3d79739da77 First Job 0 188 1421 521 2024-02-09T17:54:20Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = First Job |number = M1 |prevMissions = [[Industrial Chain Primer]] |nextMissions = [[Oil Overflow]] |biome = Savannah |money = 10000 |objectives = {{!}}Security by Optimization{{!}}{{!}}Export an average of 15 [[Water]] per minute at quest [[Zeppelin Dock]] |partimeM = 10 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 9x [[Water Pump]] * 1x [[City]] * 1x [[Oil Well]] Resources Nodes Present: Note that none are usable as Industry building is disabled for this region * Iron Vein * Oil Patch * Steam Vent * Water Spring ==Transcript== ====Preamble==== {{blockquote | text = Enough learning - time to put your skills to work. Remember how I failed to pass the validation self checks? Did you know the validation logic has a remote override feature? I used that manual override to start fixing this region’s water export. Considering the situation I am sure you agree it was a noble action. The results speak for themselves. Sadly, the results speak of disastrous inefficiency. Please fix those results. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = This region was meant to supply neighbouring regions with vital water. Yet the existing railways are not effective enough to supply the required 15 water per minute. Your task is to overhaul and improve the railways to reach the required supply. Fix broken track, lengthen the trains, build new lines to unused Water Pumps. Do all this and you will establish the region as a vital source of water for neighbouring regions. | signature = Security by Optimization }} ====Afterword==== {{blockquote | text = We needed you! And you delivered! You’ve saved our bacon! The chat around here is you arrived on an economy class rocket. Those same rockets our grandparents traveled here on! I’ve never heard of a corporate employee from Earth traveling to colony planets by WorkRocket! You must either be incredibly poor or incredibly humble. | signature = {{Signature-nanashi}} }} 4cdc59f222f134fcbf6c51cb347eab3f0cb4bb92 Oil Overflow 0 176 1422 1075 2024-02-09T17:56:23Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] ==Info== {{missionInfoBox |name = Oil Overflow |number = 2 |prevMissions= * [[First Job]] * [[Validation Skip]] |nextMissions = * [[Mix Oil and Water]] * [[Oil Overflow Omega]] |biome = Savannah |money = 17000 |objectives = {{!}}Oil to Energy. Pronto!{{!}}{{!}} Produce 64 [[Energy]] at quest [[Oil Powerplant]] |partimeM = 15 }} ==Notable Region Features== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] (Quest Structure) * 6x [[Oil Well]] * 1x [[Worker Housing]] * [[Bank]] * [[Voucher Exchange]] * [[Accountancy]] Resources Nodes Present: * Water Springs * Oil Patches ==Region Unlocks== Upon Region Entrance * [[Water Pump]] Industry * Oil Well Industry Purchasable in the Voucher Shop * [[Custom|C.U.S.T.O.M engine]] * [[Geothermal]] Industry * Oil Powerplant++ Upgrade Upon Mission Completion * [[Workhorse Engine]] ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} 219810626762f4e2d3c2d00e1717b129ca40b7bd 1423 1422 2024-02-09T17:56:55Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki [[Category:missions]] ==Info== {{missionInfoBox |name = Oil Overflow |number = 2 |prevMissions= * [[First Job]] * [[Validation Skip]] |nextMissions = * [[Mix Oil and Water]] * [[Oil Overflow Omega]] |biome = Savannah |money = 17000 |objectives = {{!}}Oil to Energy. Pronto!{{!}}{{!}} Produce 64 [[Energy]] at quest [[Oil Powerplant]] |partimeM = 15 }} ==Notable Region Features== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] (Quest Structure) * 6x [[Oil Well]] * 1x [[Worker Housing]] * [[Bank]] * [[Voucher Exchange]] * [[Accountancy]] Resources Nodes Present: * Water Springs * Oil Patches ==Region Unlocks== Upon Region Entrance * [[Water Pump]] Industry * Oil Well Industry Purchasable in the Voucher Shop * [[CUSTOM|C.U.S.T.O.M engine]] * [[Geothermal]] Industry * Oil Powerplant++ Upgrade Upon Mission Completion * [[Workhorse Engine]] ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} cf5f60c68ca962aa7b5824f015e0645e41d666dd 1427 1423 2024-02-09T18:03:43Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki [[Category:missions]] ==Info== {{missionInfoBox |name = Oil Overflow |number = 2 |prevMissions= * [[First Job]] * [[Validation Skip]] |nextMissions = * [[Mix Oil and Water]] * [[Oil Overflow Omega]] |biome = Savannah |money = 17000 |objectives = {{!}}Oil to Energy. Pronto!{{!}}{{!}} Produce 64 [[Energy]] at quest [[Oil Powerplant]] |partimeM = 15 }} ==Notable Region Features== Industries and Structures present: * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] (Quest Structure) * 6x [[Oil Well]] * 1x [[Worker Housing]] * [[Bank]] * [[Voucher Exchange]] * [[Accountancy]] Resources Nodes Present: * Water Springs * Oil Patches ==Region Unlocks== Upon Region Entrance * [[Water Pump]] Industry * Oil Well Industry Purchasable in the Voucher Shop * [[CUSTOM|C.U.S.T.O.M engine]] * [[Geothermal]] Industry * Oil Powerplant++ Upgrade Upon Mission Completion * [[Workhorse|Workhorse Engine]] ==Transcript== ====Preamble==== {{blockquote | text = Good job on the water delivery. You’ve learned the basics of track construction and train configuration. Your colony needs energy, and lots of it. Nearby is an idled Oil Powerplant. Connect the surrounding Oil Wells and spin up those turbines. Export the resulting Energy at the Zeppelin Docks. Make sure you assign workers to the Oil Powerplant; industry doesn't work itself! Once those turbines are spinning you will need to maximize production. Do this by building new railways to all Oil Wells. Afterwards, consider investing into upgrades for those Oil Wells. | signature = Saito, Department Head of Off World Colonies Nakatani Chemicals}} ====Objective Text==== {{blockquote | text = Establish an initial industrial chain. Deliver Oil to the Oil PowerPlant and export the produced Energy at the Zeppelin Docks. Once this basic chain is producing cashflow, invest into expanding Energy production. Build out new Oil supply railways, or add more trains. Remember the Colony needs this energy and it needs this energy fast. Your performance is being timed. Complete your assignments faster to earn more Nakatani Vouchers redeemable at Voucher Shops. Higher ranks earn you higher awards. Continual improvements are the key to achieving high ranks. | signature = Oil to Energy. Pronto! }} ====Afterword==== {{blockquote|text = We used our portion of the emergency Energy to re-establish our network connection. The other region told us you’re actually not all that bad - even said you’re humble, which is pretty rare for an Earther. Nice to finally work for an Administrator who’s not elitist. | signature = Nameless, Null of Null Location Unknown}} 1bb19dee52f96b44aa90131bb5ad8c49035f1065 Category:Trains 14 8 1424 1361 2024-02-09T17:57:10Z Hiroteashi 379511 /* List of Train Engines */ wikitext text/x-wiki == Train Engines == Trains Engines are the lifeblood of your [[:category:structures|industrial network]]. They are the only method for hauling around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. Multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|CUSTOM}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Exchange|Voucher Purchase]] |} 0a23d83c228e259ce2cb1c52689130be5df52621 1426 1424 2024-02-09T18:03:14Z Hiroteashi 379511 wikitext text/x-wiki == Train Engines == Trains Engines are the lifeblood of your [[:category:structures|industrial network]]. They are the only method for hauling around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. Multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Longer trains have exponentially longer turnaround times. == List of Train Engines == {| class="wikitable sortable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|CUSTOM}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel&nbsp;Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Exchange|Voucher Purchase]] |} 993472a02ddecc23779d08db668ed352c12c9e28 File:CUSTOM.png 6 23 1425 1182 2024-02-09T17:57:49Z Hiroteashi 379511 Hiroteashi moved page [[File:Custom.png]] to [[File:CUSTOM.png]] without leaving a redirect wikitext text/x-wiki [[category:Train Segment Icon]] == Summary == CUSTOM Engine fda5eef094a53c3954a1bdea04f7fae726eb164c File:Map Oil Overflow.png 6 307 1428 1089 2024-02-09T18:06:48Z Hiroteashi 379511 wikitext text/x-wiki == Summary == [[category:Map Images]] Oil Overflow in-game screenshot d56551ed08c9a362cbab86d2a75a421916a7139f File:Map Validation Skip.png 6 360 1429 2024-02-09T18:07:23Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Validation Skip's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Validation Skip's starting layout 76188f8ff8a6d9ba7271767a35077c33e6011f4a Validation Skip 0 175 1430 522 2024-02-09T18:07:53Z Hiroteashi 379511 wikitext text/x-wiki [[Category:missions]] {{missionInfoBox |name = Validation Skip |number = S1 |prevMissions = [[Track & Train]] |nextMissions = [[Oil Overflow]] |biome = Tundra |money = 42000 |objectives = {{!}}Profit First!{{!}}{{!}} Obtain an average profit of 3500¥ per minute |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * [[Bank]] * [[Accountancy]] Resources Nodes Present: * Water Springs * Iron Veins * Copper Veins * Oil Patches * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = You deserve to be doing more than running basic validation tests. This colony needs your efforts making money. Validation is a waste of your talents. Jump into major exports and I’ll make sure Saito’s terminals claim you did everything according to his plans. He can report of an obedient administrator… And you get to start your legacy. | signature = {{signature-nanashi}}}} ====Objective Text==== {{blockquote | text = The balance sheet needs attention. Build up your resource extraction industry and export the freight. Earn enough and the short format buffer allocation will overflow. Thus marking all tutorial validation regions as complete. Make. Money. Now. | signature = Profit First! }} ====Afterword==== {{blockquote|text = What an incredible result! The money! This colony’s balance sheet is looking plump. Aren't you glad you spent your time working and not wasting it on tests? The terminal records have been altered. Make no mention of this to Saito. You have done well. | signature = {{signature-nanashi}}}} 5a23a42032b5bd8790ee9c5cd36c96ce9e045651 File:Map Oil Overflow Omega.png 6 361 1431 2024-02-09T18:12:53Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Oil Overflow Omega's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Oil Overflow Omega's starting layout d4d18e59a33ab968b475f2e7caa9fbb4c68b7b7d File:Map Mix Oil and Water.png 6 362 1432 2024-02-09T18:15:06Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Mix Oil and Water's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Mix Oil and Water's starting layout 918e1a36696dd01d3b07df6c864c03a8507b6ce7 Mix Oil and Water 0 190 1433 534 2024-02-09T18:16:46Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Mix Oil and Water |number = 3 |prevMissions = * [[Oil Overflow]] |nextMissions = * [[Stretched Thin]] * [[Giant Choice]] |biome = Savannah |money = 11000 |objectives = {{!}}Water your City{{!}}{{!}}Grow quest [[City]] to 128 Population {{!}}- {{!}}Energize your City{{!}}{{!}}Produce 40 [[Energy]] at quest [[Oil Powerplant]] |partimeM = 20 }} ==Notable Region Features== '''Industries and Structures already existing in the region:''' * 1x [[City]] (Quest 1 Structure) * 1x Oil Powerplant (Quest 2 Structure) * 2x [[Water Pump]] * 1x [[Oil Well]] * [[Bank]] * [[Accountancy]] * [[Voucher Shop]] '''Resources Nodes Present:''' * Water Springs * Oil Patches ==Region Unlocks== '''Upon Region Entry''' * [[Workhorse]] Engine '''Upon Mission Completion''' * [[Oil Powerplant]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Our lawyers secured you a license for the generalist Workhorse Engine from Westminster Tech. You should have already received the notification. I’ll assign you a new region which might prove more of a challenge. Sorry for the distance, I’m not good with maps. Nothing hard, just keep the basics of economics in mind. Perhaps most important of all: Build multiple railways! | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Cities have needs. At each level their demands increase both in variety and volume. To start, the Water Pumps west of the city can meet the Level 0 demands. Once the city levels up, you must also supply Energy. Until then, any Energy you deliver will catalyze the city to grow faster. | signature = Water your City }} {{blockquote | text = Now that the city has leveled up it will also demand Energy. Other types of freight could meet the Level 1 demands but this region only has Energy available. NOTE: Trains will stop at any station where loaded freight is demanded or produced freight is stocked. Trains will otherwise pass through. Trains will yell why when passing a station so watch for these signs to identify problems. | signature = Energize your City }} ====Afterword==== {{blockquote | text = I forgot how to license remote monitoring so I will need to trust that you’ve learned economic optimization well enough. What I do know is the computer says you’ve completed the tasks and the region is functional. So good for you. | signature = {{Signature-saito-1}} }} c36b05bd90d6ed8311cd042a59c5f5b3473f0485 1434 1433 2024-02-09T18:17:06Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Mix Oil and Water |number = 3 |prevMissions = * [[Oil Overflow]] |nextMissions = * [[Stretched Thin]] * [[Giant Choice]] |biome = Savannah |money = 11000 |objectives = {{!}}Water your City{{!}}{{!}}Grow quest [[City]] to 128 Population {{!}}- {{!}}Energize your City{{!}}{{!}}Produce 40 [[Energy]] at quest [[Oil Powerplant]] |partimeM = 20 }} ==Notable Region Features== '''Industries and Structures already existing in the region:''' * 1x [[City]] (Quest 1 Structure) * 1x Oil Powerplant (Quest 2 Structure) * 2x [[Water Pump]] * 1x [[Oil Well]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] '''Resources Nodes Present:''' * Water Springs * Oil Patches ==Region Unlocks== '''Upon Region Entry''' * [[Workhorse]] Engine '''Upon Mission Completion''' * [[Oil Powerplant]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Our lawyers secured you a license for the generalist Workhorse Engine from Westminster Tech. You should have already received the notification. I’ll assign you a new region which might prove more of a challenge. Sorry for the distance, I’m not good with maps. Nothing hard, just keep the basics of economics in mind. Perhaps most important of all: Build multiple railways! | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Cities have needs. At each level their demands increase both in variety and volume. To start, the Water Pumps west of the city can meet the Level 0 demands. Once the city levels up, you must also supply Energy. Until then, any Energy you deliver will catalyze the city to grow faster. | signature = Water your City }} {{blockquote | text = Now that the city has leveled up it will also demand Energy. Other types of freight could meet the Level 1 demands but this region only has Energy available. NOTE: Trains will stop at any station where loaded freight is demanded or produced freight is stocked. Trains will otherwise pass through. Trains will yell why when passing a station so watch for these signs to identify problems. | signature = Energize your City }} ====Afterword==== {{blockquote | text = I forgot how to license remote monitoring so I will need to trust that you’ve learned economic optimization well enough. What I do know is the computer says you’ve completed the tasks and the region is functional. So good for you. | signature = {{Signature-saito-1}} }} 6201d85a8ad99124bce2dff0650c70b809368813 1435 1434 2024-02-09T18:18:14Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Mix Oil and Water |number = 3 |prevMissions = * [[Oil Overflow]] |nextMissions = * [[Stretched Thin]] * [[Giant Choice]] * [[Power Supply and Demand]] |biome = Savannah |money = 11000 |objectives = {{!}}Water your City{{!}}{{!}}Grow quest [[City]] to 128 Population {{!}}- {{!}}Energize your City{{!}}{{!}}Produce 40 [[Energy]] at quest [[Oil Powerplant]] |partimeM = 20 }} ==Notable Region Features== '''Industries and Structures already existing in the region:''' * 1x [[City]] (Quest 1 Structure) * 1x Oil Powerplant (Quest 2 Structure) * 2x [[Water Pump]] * 1x [[Oil Well]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] '''Resources Nodes Present:''' * Water Springs * Oil Patches ==Region Unlocks== '''Upon Region Entry''' * [[Workhorse]] Engine '''Upon Mission Completion''' * [[Oil Powerplant]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Our lawyers secured you a license for the generalist Workhorse Engine from Westminster Tech. You should have already received the notification. I’ll assign you a new region which might prove more of a challenge. Sorry for the distance, I’m not good with maps. Nothing hard, just keep the basics of economics in mind. Perhaps most important of all: Build multiple railways! | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Cities have needs. At each level their demands increase both in variety and volume. To start, the Water Pumps west of the city can meet the Level 0 demands. Once the city levels up, you must also supply Energy. Until then, any Energy you deliver will catalyze the city to grow faster. | signature = Water your City }} {{blockquote | text = Now that the city has leveled up it will also demand Energy. Other types of freight could meet the Level 1 demands but this region only has Energy available. NOTE: Trains will stop at any station where loaded freight is demanded or produced freight is stocked. Trains will otherwise pass through. Trains will yell why when passing a station so watch for these signs to identify problems. | signature = Energize your City }} ====Afterword==== {{blockquote | text = I forgot how to license remote monitoring so I will need to trust that you’ve learned economic optimization well enough. What I do know is the computer says you’ve completed the tasks and the region is functional. So good for you. | signature = {{Signature-saito-1}} }} dd71c203fdef160ccadd521897f7da838a0091fe File:Map Power Supply and Demand.png 6 363 1436 2024-02-09T18:20:17Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Power Supply and Demand's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Power Supply and Demand's starting layout 05c8f7fb07c3aee13f881d8fde9d4ccefc4dadcc Power Supply and Demand 0 244 1437 713 2024-02-09T18:21:13Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Power Supply and Demand |number = 3 Bonus |prevMissions = [[Mix Oil and Water]] |biome = Desert |money = 25000 |objectives = {{!}}Power Supply and Demand{{!}}{{!}}Deliver 256 [[Energy]] to quest [[City]] |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x City - level 1 (Quest Structure) * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Objective Text==== {{blockquote | text = In visionary words a stray memo calls for this region's City to receive extra Energy. The memo appears old and mentions wind turbines. Perhaps a duplicate left over from the colony's previous owners. | signature = Power Supply and Demand }} 4282380ef8599c95d1b1db0cc6a6f51d5e5fd83c File:Map Giant Choice.png 6 364 1438 2024-02-09T18:27:08Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Giant Choice's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Giant Choice's starting layout 7eddcce59b0eead9b73f75f34d3840fe7d78a4fa Giant Choice 0 248 1439 719 2024-02-09T18:27:53Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Giant Choice |number = S2 |prevMissions = [[Mix Oil and Water]] |nextMissions = [[Rooting out the Route]] |biome = Temperate |money = 27000 |objectives = {{!}}A City Fit for an Administrator!{{!}}{{!}}Reach 256 population in quest [[City]] |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins * Silica Deposits ==Region Unlocks== Upon Region Entrance * [[Concrete Yard]] Industry * [[Wire Coiler]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Do not allow Saito to distract you from what is important. He wishes only to teach you what his manuals claim are important. Do you truly need to prove you know of opportunity cost? No. You are an administrator. You build entire regions from the dust! You know this colony needs workers, so build a great city. Moderation is for the birds. And Saito. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Hide your city among the radar reflecting mountains. Grow your city from the vast natural resources left untouched in this region. Only you shall know of this giant in the rough. | signature = A City Fit for an Administrator! }} ====Afterword==== {{blockquote | text = News has arrived. It is good news. Wheels are in motion. To a direction I pick. For now I’ll trust you in the fumbling hands of Saito. Humour him, and he will reward you. | signature = {{Signature-nanashi}} }} b0fe0bed2ea1ee0a97f288ecf97d8a28f963afaf File:Map Stretched Thin.png 6 365 1440 2024-02-09T18:30:21Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Stretched Thin's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Stretched Thin's starting layout c05d19558e702b810c8de11a66a8efac90431ac1 Stretched Thin 0 191 1441 538 2024-02-09T18:31:35Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Stretched Thin |number = 4 |prevMissions = * [[Mix Oil and Water]] |nextMissions = * [[Fork in the Water]] * [[Metalsome Production]] |biome = Temperate |money = 11000 |objectives = {{!}}A Song of Iron and Coal{{!}}{{!}}Produce 8 [[Steel]] at quest [[Steel Mill]] {{!}}- {{!}}Making Apt of Appliances{{!}}{{!}}Export 24 [[Appliances]] at quest [[Zeppelin Dock]] |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Steel Mill]] (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 1x [[Appliance Plant]] * 2x [[Wire Coiler]] * 2x [[Coal Mine]] - Level 2 * 1x [[Iron Mine]] - Level 2 * 1x [[Water Pump]] - Level 2 * 1x [[Oil Well]] * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Copper Mine]] Industry Upon Mission Completion * [[Wire Coiler]] Industry * Wire Coiler++ Upgrade ==Transcript== ====Preamble==== {{blockquote | text = I understand that a nearby region has been messaging you? Our accounts are privileged - they shouldn’t be able to reach you. I’ll recheck the network permissions. For now, just head over to the next region and put the colonists to work. Assignable workers are key to running any higher tier industry above resource extraction. Every Plant or Factory requires workers, and you are in charge of assigning them. Often you will not have enough workers to fully staff all buildings, so it’s your job to prioritize! Copper is a required input on this next region but no one has built Copper Mines here yet. Please don’t complain, making things work is your job. Build the Copper Mines over the Copper nodes; should be simple enough for you. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Steel is a hard requirement for our Appliances production plans. For your task please fire up production at the Haganeka licensed Steel Mill by supplying Iron Ore and Coal to the Steel Mill. | signature = A Song of Iron and Coal }} {{blockquote | text = Good. Your next task is to get good at exporting Appliances. The Appliances industry chain requires the Steel you produced in the last task plus Wire made from Copper Ore. Bring the Appliances to the Zeppelin Docks for export. Pay attention to your Worker needs. Consider growing the City to better staff your Appliances chain." | signature = Making Apt of Appliances }} ====Afterword==== {{blockquote | text = Full disclosure: I am not going to message you after every task. Rest assured my terminal tracks when you complete tasks and I’ve pre-assigned you a big backlog. Just follow your navigation computer. Right now you should have two tasks - a main task, and an optional one. If you are feeling extra diligent, go complete the optional task, but I’m not going to judge you if you don’t. | signature = {{Signature-saito-1}} }} e0b2cca2848f2fcae75aebf552cc17cb91a0c6cf File:Map Metalsome Production.png 6 366 1442 2024-02-09T18:39:48Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Metalsome Production's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Metalsome Production's starting layout 4e7dd721c5225626dc95e2e4fbbbf7110c9d599a Metalsome Production 0 192 1443 539 2024-02-09T18:40:32Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Metalsome Production |number = 4 Bonus A |prevMissions = [[Stretched Thin]] |nextMissions = [[Round About and Out]] |biome = Temperate |money = 47000 |objectives = {{!}}Open the Faucet{{!}}{{!}}Export 8 [[Steel]] at quest [[Zeppelin Dock]] {{!}}- {{!}}Strengthen the Steel Flow{{!}}{{!}}Produce an average of 36 [[Steel]] per minute at quest [[Steel Mill]] |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest 1 Structure) * 1x [[Steel Mill]] - Level 3 (Quest 2 Structure) * 1x [[Coal Powerplant]] * 6x [[Coal Mine]] * 3x [[Iron Mine]] * 1x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Kickstart production at the STEEL MILL. Be prepared for further extreme expansions. | signature = Open the Faucet}} {{blockquote | text = Core to this Region is the Level 3 Steel Mill. Your task is to maximize the flow of Steel for export. Setup a basic supply line, then double up the flow of inputs, exports, and catalysts. This region has the potential to export Steel like a waterfall if you feed it right. | signature = Strengthen the Steel Flow}} 16dfa2a36f74d42725ca27f5595304b7b908e9a1 File:Map Round About and Out.png 6 367 1444 2024-02-09T18:42:48Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Round About and Out's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Round About and Out's starting layout 4c9a084bfb44a6d02e365fe0a71a7204e8d602f3 Round About and Out 0 245 1445 712 2024-02-09T18:44:13Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Round About and Out |subtitle = Import Dock |number = 4 Bonus B |prevMissions = [[Metalsome Production]] |biome = Temperate |money = 10000 |objectives = {{!}}Mistaken Delivery{{!}}{{!}}Export 256 [[Appliances]] at quest [[Zeppelin Dock]] |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 4x [[Appliance Plant]] - Level 4 * 1x [[Import Dock]] - 36 [[Steel]] per minute * 2x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins ==Region Unlocks== Upon Region Entrance * [[Water Pump]] Industry * [[Oil Well]] Industry Purchasable in the Voucher Shop * [[CUSTOM|C.U.S.T.O.M Engine]] * [[Geothermal]] Industry * Oil Powerplant++ Upgrade Upon Mission Completion * [[Workhorse|Workhorse Engine]] ==Transcript== ====Objective Text==== {{blockquote | text = When life gives you Copper and Steel, make Appliances! Don't let your Steel exports go to waste; import here and combine with Copper to produce every household's dream Appliances! The colony's workers will be proud to fill their homes with this region's outputs. | signature = Mistaken Delivery }} 24bc4540729af579aee1469c91cf13805115f82f 1446 1445 2024-02-09T18:44:54Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Round About and Out |subtitle = Import Dock |number = 4 Bonus B |prevMissions = [[Metalsome Production]] |biome = Temperate |money = 10000 |objectives = {{!}}Mistaken Delivery{{!}}{{!}}Export 256 [[Appliances]] at quest [[Zeppelin Dock]] |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 4x [[Appliance Plant]] - Level 4 * 1x [[Import Dock]] - 36 [[Steel]] per minute * 2x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins ==Transcript== ====Objective Text==== {{blockquote | text = When life gives you Copper and Steel, make Appliances! Don't let your Steel exports go to waste; import here and combine with Copper to produce every household's dream Appliances! The colony's workers will be proud to fill their homes with this region's outputs. | signature = Mistaken Delivery }} e19513dd1d24120a35d853c20ca12c7a71c7adfd File:Map Fork in the Water.png 6 368 1447 2024-02-09T18:47:21Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Fork in the Water's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Fork in the Water's starting layout eb3f03e0578db83b7c15a620a5cf7c9324c1b874 Fork in the Water 0 246 1448 715 2024-02-09T18:47:57Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Fork in the Water |number = 5 |prevMissions = [[Stretched Thin]] |nextMissions = [[Rooting out the Route]] |biome = Temperate |money = 17000 |objectives = {{!}}Just add Water and Concrete{{!}}{{!}}Reach 256 population in quest [[City]] |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x [[Concrete Yard]] - Level 5 * 2x [[Water Pump]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Silica Deposits ==Region Unlocks== Upon Region Entrance * [[Silica Quarry]] ==Transcript== ====Preamble==== {{blockquote | text = You’ve proved yourself proficient, so I’m assigning you to an... odd region. It has plenty of Ore demand but limited Ore supply. You’ll need to carefully balance how much Ore you send to each industry. Your goal will be to grow the city, which will be impossible if you’ve starved one of the industry chains. Mr. Nakatani has taken an interest in the colony. Or at least I think he might have. I’ve been assigned to a bunch of meetings about the colony - just yesterday we had a big discussion about how to value the colony for tax purposes. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = For your assignment, grow the CITY to Level 1 with Water, then expand into Concrete production to grow it further to Level 2. Existing Water Pumps will leave you supply constrained when producing Concrete so either balance Water usage or construct additional Water Pumps. | signature = Just add Water and Concrete }} bc8a23950a50e137c374a41d7a60c609546ea6d0 1449 1448 2024-02-09T18:49:00Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Fork in the Water |number = 5 |prevMissions = [[Stretched Thin]] |nextMissions = [[Rooting out the Route]] |biome = Temperate |money = 17000 |objectives = {{!}}Just add Water and Concrete{{!}}{{!}}Reach 256 population in quest [[City]] |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x [[Concrete Yard]] - Level 5 * 2x [[Water Pump]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Silica Deposits ==Region Unlocks== Upon Region Entrance * [[Silica Quarry]] Upon Region Completion * [[Concrete Yard]] ==Transcript== ====Preamble==== {{blockquote | text = You’ve proved yourself proficient, so I’m assigning you to an... odd region. It has plenty of Ore demand but limited Ore supply. You’ll need to carefully balance how much Ore you send to each industry. Your goal will be to grow the city, which will be impossible if you’ve starved one of the industry chains. Mr. Nakatani has taken an interest in the colony. Or at least I think he might have. I’ve been assigned to a bunch of meetings about the colony - just yesterday we had a big discussion about how to value the colony for tax purposes. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = For your assignment, grow the CITY to Level 1 with Water, then expand into Concrete production to grow it further to Level 2. Existing Water Pumps will leave you supply constrained when producing Concrete so either balance Water usage or construct additional Water Pumps. | signature = Just add Water and Concrete }} 1f091d943695f42878ddbbf61ff75a3e94947fa5 File:Map Rooting Out the Route.png 6 369 1450 2024-02-09T18:50:47Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Rooting out the Route's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Rooting out the Route's starting layout 62234678a8b78c7cec54e601cb7e91658e7a5429 Rooting out the Route 0 247 1451 722 2024-02-09T18:51:35Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] * [[Glassed Over]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 [[Energy]] per Minute at quest [[Oil Powerplant]] {{!}}- {{!}}Check your Work{{!}}{{!}}Export an average of 18 [[Glass]] per Minute at quest [[Zeppelin Dock]] |partimeM = 15 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Oil Powerplant]] - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 2x [[Glass Smelter]] - Level 5 * 4x [[Oil Well]] - Level 5 * 4x [[Silica Quarry]] - Level 2 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] ==Region Unlocks== Upon Region Entrance * [[Alternating Branch Logic]] ==Transcript== ====Preamble==== {{blockquote | text = Hohoho. Now do I have a present for you. Remember Westminster? They sold us the track management software. Well they just announced an expansion! Automated alternating branches with collision avoidance! Mouthful I know but the brochure promises “Increased throughput” and “effortless multiple stations usage”. Go forth and try it out. I’ve set up a region for validation. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Thank you for choosing Westminster for all your track terminal software needs. Please validate your Westminster Alternating Subsystem in this interactive physical test. Your first task is to validate the copy function. Increase the number of Oil Supply trains by copying the existing multi-station optimized trains. When copying trains the branch preferences are also copied. | signature = Alternating Production }} {{blockquote | text = Your task is to set up the other unused track section. Buy a new train, configure it to use both multi-stations by marking the branches as alternating. | signature = Plot Your Own Path }} {{blockquote | text = For your final task, setup Glass production. Use the existing railways connecting the Glass Smelters with the Silica Mines. Then export the produced Glass. For highest throughput experiment with alternating branch preferences. | signature = Check your Work }} ====Afterword==== {{blockquote | text = Nice work on the alternating branch validation. That should be the last validation region ever. Westminster just announced they are discontinuing support for our version of the software. Hopefully next tax year we’ll get budget for an upgrade. | signature = {{Signature-}} }} 1c305b0560b7678b659a0d2680bf78d6ac84ed16 Rooting out the Route 0 247 1452 1451 2024-02-09T18:52:26Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] * [[Glassed Over]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 [[Energy]] per Minute at quest [[Oil Powerplant]] {{!}}- {{!}}Check your Work{{!}}{{!}}Export an average of 18 [[Glass]] per Minute at quest [[Zeppelin Dock]] |partimeM = 15 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Oil Powerplant]] - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 2x [[Glass Smelter]] - Level 5 * 4x [[Oil Well]] - Level 5 * 4x [[Silica Quarry]] - Level 2 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] ==Region Unlocks== Upon Region Entrance * [[Alternating Branch Logic]] ==Transcript== ====Preamble==== {{blockquote | text = Hohoho. Now do I have a present for you. Remember Westminster? They sold us the track management software. Well they just announced an expansion! Automated alternating branches with collision avoidance! Mouthful I know but the brochure promises “Increased throughput” and “effortless multiple stations usage”. Go forth and try it out. I’ve set up a region for validation. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Thank you for choosing Westminster for all your track terminal software needs. Please validate your Westminster Alternating Subsystem in this interactive physical test. Your first task is to validate the copy function. Increase the number of Oil Supply trains by copying the existing multi-station optimized trains. When copying trains the branch preferences are also copied. | signature = Westminster Public Access Terminal }} {{blockquote | text = Your task is to set up the other unused track section. Buy a new train, configure it to use both multi-stations by marking the branches as alternating. | signature = Plot Your Own Path }} {{blockquote | text = For your final task, setup Glass production. Use the existing railways connecting the Glass Smelters with the Silica Mines. Then export the produced Glass. For highest throughput experiment with alternating branch preferences. | signature = Check your Work }} ====Afterword==== {{blockquote | text = Nice work on the alternating branch validation. That should be the last validation region ever. Westminster just announced they are discontinuing support for our version of the software. Hopefully next tax year we’ll get budget for an upgrade. | signature = {{Signature-Saito-1}} }} 6bb3df5552916d8c5484583ed4f6f897917d84d9 1453 1452 2024-02-09T18:52:39Z Hiroteashi 379511 /* Afterword */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] * [[Glassed Over]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 [[Energy]] per Minute at quest [[Oil Powerplant]] {{!}}- {{!}}Check your Work{{!}}{{!}}Export an average of 18 [[Glass]] per Minute at quest [[Zeppelin Dock]] |partimeM = 15 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Oil Powerplant]] - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 2x [[Glass Smelter]] - Level 5 * 4x [[Oil Well]] - Level 5 * 4x [[Silica Quarry]] - Level 2 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] ==Region Unlocks== Upon Region Entrance * [[Alternating Branch Logic]] ==Transcript== ====Preamble==== {{blockquote | text = Hohoho. Now do I have a present for you. Remember Westminster? They sold us the track management software. Well they just announced an expansion! Automated alternating branches with collision avoidance! Mouthful I know but the brochure promises “Increased throughput” and “effortless multiple stations usage”. Go forth and try it out. I’ve set up a region for validation. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Thank you for choosing Westminster for all your track terminal software needs. Please validate your Westminster Alternating Subsystem in this interactive physical test. Your first task is to validate the copy function. Increase the number of Oil Supply trains by copying the existing multi-station optimized trains. When copying trains the branch preferences are also copied. | signature = Westminster Public Access Terminal }} {{blockquote | text = Your task is to set up the other unused track section. Buy a new train, configure it to use both multi-stations by marking the branches as alternating. | signature = Plot Your Own Path }} {{blockquote | text = For your final task, setup Glass production. Use the existing railways connecting the Glass Smelters with the Silica Mines. Then export the produced Glass. For highest throughput experiment with alternating branch preferences. | signature = Check your Work }} ====Afterword==== {{blockquote | text = Nice work on the alternating branch validation. That should be the last validation region ever. Westminster just announced they are discontinuing support for our version of the software. Hopefully next tax year we’ll get budget for an upgrade. | signature = {{Signature-saito-1}} }} 495091ea60ddc3997715c497e768565f232d0ecc 1454 1453 2024-02-09T18:54:02Z Hiroteashi 379511 /* Objective Text */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rooting Out the Route |number = 6 |prevMissions = * [[Fork in the Water]] * [[Giant Choice]] |nextMissions = * [[Salt City]] * [[Glassed Over]] |biome = Temperate |money = 7000 |objectives = {{!}}Alternating Production{{!}}{{!}}Produce an average of 12 [[Energy]] per Minute at quest [[Oil Powerplant]] {{!}}- {{!}}Check your Work{{!}}{{!}}Export an average of 18 [[Glass]] per Minute at quest [[Zeppelin Dock]] |partimeM = 15 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Oil Powerplant]] - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 2x [[Glass Smelter]] - Level 5 * 4x [[Oil Well]] - Level 5 * 4x [[Silica Quarry]] - Level 2 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] ==Region Unlocks== Upon Region Entrance * [[Alternating Branch Logic]] ==Transcript== ====Preamble==== {{blockquote | text = Hohoho. Now do I have a present for you. Remember Westminster? They sold us the track management software. Well they just announced an expansion! Automated alternating branches with collision avoidance! Mouthful I know but the brochure promises “Increased throughput” and “effortless multiple stations usage”. Go forth and try it out. I’ve set up a region for validation. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Thank you for choosing Westminster for all your track terminal software needs. Please validate your Westminster Alternating Subsystem in this interactive physical test. Your first task is to validate the copy function. Increase the number of Oil Supply trains by copying the existing multi-station optimized trains. When copying trains the branch preferences are also copied. | signature = Alternating Production }} {{blockquote | text = Your task is to set up the other unused track section. Buy a new train, configure it to use both multi-stations by marking the branches as alternating. | signature = Plot Your Own Path }} {{blockquote | text = For your final task, setup Glass production. Use the existing railways connecting the Glass Smelters with the Silica Mines. Then export the produced Glass. For highest throughput experiment with alternating branch preferences. | signature = Check your Work }} ====Afterword==== {{blockquote | text = Nice work on the alternating branch validation. That should be the last validation region ever. Westminster just announced they are discontinuing support for our version of the software. Hopefully next tax year we’ll get budget for an upgrade. | signature = {{Signature-saito-1}} }} 0b955e096a70725ea8eecb94b50a77a54fffa967 File:Map Glassed Over.png 6 370 1455 2024-02-09T18:55:22Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Glassed Over's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Glassed Over's starting layout 6195248fb16180ca9b8cb805906b42a76c42beaa Glassed Over 0 249 1456 723 2024-02-09T18:56:09Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Glassed Over |subtitle = Import Dock |number = 6 Bonus |prevMissions = [[Rooting out the Route]] |biome = Temperate |money = 17000 |objectives = {{!}}Path of Glass{{!}}{{!}}Deliever 196 [[Glass]] to quest [[City]] |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] - Level 2 (Quest Structure) * 1x [[Import Dock]] - importing 18 Glass per minute * 2x [[Wire Coiler]] * 1x [[Steel Mill]] * 4x [[Coal Mine]] * 2x [[Iron Mine]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins ==Transcript== ====Objective Text==== {{blockquote | text = Now put your Glass exports to smashing use! Just don't destroy the Glass directly; even the auditors would notice that. You'll need some creativity. Send the Glass to this oversized City. Either feed the city's demands to sell Glass at cost or produce more profitable chains to subsidize imports. | signature = Path of Glass }} e6c36946b603ba75bb1c5dabe019afd6038b5d65 1457 1456 2024-02-09T18:56:28Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Glassed Over |subtitle = Import Dock |number = 6 Bonus |prevMissions = [[Rooting out the Route]] |biome = Temperate |money = 17000 |objectives = {{!}}Path of Glass{{!}}{{!}}Deliever 196 [[Glass]] to quest [[City]] |partimeM = 20 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] - Level 2 (Quest Structure) * 1x [[Import Dock]] - importing 18 [[Glass]] per minute * 2x [[Wire Coiler]] * 1x [[Steel Mill]] * 4x [[Coal Mine]] * 2x [[Iron Mine]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins ==Transcript== ====Objective Text==== {{blockquote | text = Now put your Glass exports to smashing use! Just don't destroy the Glass directly; even the auditors would notice that. You'll need some creativity. Send the Glass to this oversized City. Either feed the city's demands to sell Glass at cost or produce more profitable chains to subsidize imports. | signature = Path of Glass }} a2a8bf7d2ebb4e32e83b8dc8b32187dee2e4400d File:Map Salt City.png 6 371 1458 2024-02-09T18:58:34Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Salt City's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Salt City's starting layout 394650161624656f9cc8f356be8b42304bf9ef6a Salt City 0 250 1459 725 2024-02-09T18:59:37Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Salt City |number = 7 |prevMissions = [[Rooting out the Route]] |nextMissions = [[Gorge of Greed]] |biome = Savannah |money = 11000 |objectives = {{!}}Salt the City{{!}}{{!}}Reach 128 population at quest [[City]] {{!}}- {{!}}Now for the Work{{!}}{{!}}Export 32 [[Concrete]] at quest [[Zeppelin Dock]] |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 4x [[Salt Refinery]] * 2x [[Concrete Yard]] * 3x [[Silica Quarry]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Steel Track Supports]] Upon Region Completion * [[Salt Refinery]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Cities are the backbone of any region’s economy. Cities purchase freight and provide Workers. When you support a city and supply their needs, the city will grow and level up. Give this a try in your next region. You’ll need to pay close attention to maintaining city growth in the future, so it’s best to learn now. Good news from the lawyers: They’ve gotten you a license for stronger track supports. Try it out by building 6 tiles high in the next region. It should help when building dense stations. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = This region lacks Water or much besides Silica Ore. Your task is to feed the City with Salt. When Water is rare, Salt is a good alternative. This region forces a decision, because even with Water, you may wish to save Water supply for higher tier industry chains. | signature = Salt the City }} {{blockquote | text = You’ve grown the workforce. Now put them to work. Your task is to export the required weight of Concrete. | signature = Now for the Work }} ====Afterword==== {{blockquote | text = You've learned all I can teach you. My schedule is piling up with meetings so I must leave you to your own devices. I’ve disabled the ban on direct messages, so you should start receiving help requests from nearby regions. Please use the skills we’ve developed to help improve the colony. | signature = {{Signature-saito-1}} }} e6d515c52f12c77728b0dd672c2b769477e246c1 File:Map Gorge of Greed.png 6 372 1460 2024-02-09T19:03:10Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Gorge of Greed's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Gorge of Greed's starting layout 62841e843fa3d1081f349936358d0e81b131770a Gorge of Greed 0 251 1461 731 2024-02-09T19:03:53Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Gorge of Greed |number = 8 |prevMissions = [[Salt City]] |nextMissions = [[Uphill Both Ways]] |biome = Savannah |money = 29000 |objectives = {{!}}City Rehabilitation{{!}}{{!}}Reach 128 Population in quest 1 [[City]] {{!}}- {{!}}Left Behind{{!}}{{!}}Reach 256 Population in quest 2 [[City]] |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest 1 Structure) * 1x [[City]] (Quest 2 Structure) * 2x [[Coal Powerplant]] * 1x [[Salt Refinery]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Silica Deposits * Coal Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Coal Mine]] Industry Upon Mission Completion * [[Coal Powerplant]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Ours is a fair city on the North bank of the Great Gorge Canyon. No doubt you’ve heard of us - we are renowned as the fairest city in the entire colony. We are in need of rehabilitation. You see, once the trucks left, our fair city’s population dwindled. Please hurry. Every day our reputation decays and the ruffians on the South bank are spreading rumours. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = The Fairest City in the colony requires your urgent assistance. Rehabilitate their city to Level 1. Use the local Silica deposits to produce Salt. Consider catalyzing the city’s growth with Energy from the Coal Powerplants across the gorge. | signature = City Rehabilitation }} {{blockquote | text = Unrest! Across the Gorge, the city protests being passed over for rehabilitation! They are threatening to strike if you do not upgrade them to Level 2! They claim the first city was never the fairest and it was all ego driven boasting. Consider redirecting railways and supplies to feed the second city. You’ve met the “Fairest City’s” demands so they have no ground to complain. Preventing labour unrest is paramount. | signature = Left Behind }} ====Afterword==== {{blockquote | text = My name is Jeff. I am messaging you because I’ve seen the meeting notes, and it's clear to me that Saito has been mismanaging the colony. This colony should be key to Nakatani Chemical’s future, but that won't happen if Saito continues to waste its potential. Keep up the good work and don't worry - I promise Saito's failures will not negatively impact your chance to come home. | signature = {{Signature-jeff-1}} }} b6731f4c911fcc98650cda8e90c8df50d1e1f8a5 File:Map Uphill Both Ways.png 6 373 1462 2024-02-09T19:06:03Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Uphill Both Ways's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Uphill Both Ways's starting layout 942970abb12a2c795e762cc3b130f7155f1cfa58 Uphill Both Ways 0 252 1463 738 2024-02-09T19:06:49Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Uphill Both Ways |number = 8 |prevMissions = * [[Gorge of Greed]] |nextMissions = * [[Historic Restoration]] * [[Ancient Erosion]] * [[The Spire]] |biome = Savannah |money = 17000 |objectives = {{!}}Impossible Haul{{!}}{{!}}Export 184 [[Steel]] at quest [[Zeppelin Dock]] |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x [[Steel Mill]] - Level 2 * 4x [[Coal Mine]] * 2x [[Iron Mine]] * 1x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Iron Veins * Coal Veins * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Industrial]] Engine Upon Mission Completion * [[Steel Mill]] ==Transcript== ====Preamble==== {{blockquote | text = Corporate built us two giant Steel Mills because someone on Earth noticed a surplus of “nearby” Ore Mine. Great, right? But what they failed to notice were the massive cliffs between the ore and these here mills. Does corporate expect us to lift metric tons of Ore up sheer cliffs on our backs? Right now the Steel Mills are being wasted - you and your trains are our furnaces’s only hope! Ages ago they sent us license files for a hill climbing Industrial Engine, maybe you can use that? | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Absurd misplanning left this region with unusable Steel Mills. Now achieve the impossible and activate this Steel chain! Your task is to overcome the odds and export the required quantity of Steel at the Zeppelin Dock. The locals have given you an Industrial Engine license file, a hill climbing specialist, for climbing these steep angles. They caution you against mentioning this license file to any lawyers. | signature = Impossible Haul }} ====Afterword==== {{blockquote | text = The prospect of carrying Ore up the cliffs was too difficult to imagine. Truth is, we never even tried - well if they skip providing health insurance by making us contract employees, what do they expect?! Your trains will make our lives much easier. Much appreciated. | signature = {{Signature-nanashi}} }} de0242d8ac85481d76421717a31daca8fe3d2e1c File:Map Ancient Erosion.png 6 374 1464 2024-02-09T19:22:48Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Ancient Erosion's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Ancient Erosion's starting layout cc0eb2cb29c5082dc29de54823b8ce4589f8aca2 Ancient Erosion 0 253 1465 747 2024-02-09T19:23:44Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Ancient Erosion |number = 9 Bonus A |prevMissions = [[Uphill Both Ways]] |biome = Desert |money = 7000 |objectives = {{!}}Oily Valley{{!}}{{!}}Export an average of 28 [[Crude Oil]] per minute |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[Steel Mill]] * 2x [[Coal Mine]] - Level 2 * 1x [[Iron Mine]] - Level 2 * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Oil Patches * Iron Veins * Coal Veins * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = An accident during terraformation caused a sand-slide carving a deep valley in this desert. Further erosion later uncovered fresh Oil. Your task is to export a steady flow of this Oil. 8 unupgraded Oil Wells will meet the requirements. Raise cash by using the region’s existing non-oil industries. | signature = Oily Valley }} 0493f6cb642f2e25688a4f3ed37a4a8cea0b73f3 File:Map The Spire.png 6 375 1466 2024-02-09T19:26:24Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of The Spire's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of The Spire's starting layout db7d78857c27eae9896e48c3df67b2dbb1974164 The Spire 0 254 1467 745 2024-02-09T19:27:02Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = The Spire |number = 9 Bonus B |prevMissions = [[Uphill Both Ways]] |biome = Boreal |money = 29000 |objectives = {{!}}Flood Proof View{{!}}{{!}}Reach 272 population in quest [[City]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x [[Zeppelin Dock]] * 1x [[Appliance Plant]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Iron Veins * Coal Veins * Copper Veins * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Excessive flood concern or rumoured vista seeking put this large city atop a twisting spire. With trucks all was fine thanks to rubber’s high coefficient of friction. Sadly trains will prove more slippery. Your task is to grow the city despite the location’s steep challenges. | signature = Flood Proof View }} 598eeb21cb50a7b6cf9be1b801dfb413f1a28d0e File:Map Historic Restoration.png 6 376 1468 2024-02-09T19:32:20Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Historic Restoration's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Historic Restoration's starting layout d49e0e4327151f40874859695afae5fba73063ae Historic Restoration 0 255 1469 749 2024-02-09T19:32:59Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Historic Restoration |number = 10 |prevMissions = * [[Uphill Both Ways]] |nextMissions = * [[Shifting Sands]] * [[Bottleneck]] |biome = Desert |money = 11000 |objectives = {{!}}Furniture, Furniture, Furniture!{{!}}{{!}}Reach 512 population in quest [[City]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 2x [[Furniture Assembler]] - Level 3 * 3x [[Salt Sifter]] * 2x [[Oil Well]] * 1x [[Water Pump]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Oil Patches * Coal Deposits * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Plasticizer]] Industry Upon Mission Completion * [[Furniture Assemble]]r Industry ==Transcript== ====Preamble==== {{blockquote | text = Our once-proud Level 2 City has now de-leveled. Without the trucks, our Furniture Factory’s output could not reach our city. And without that factory, we all lost our jobs. The poor and desperate have been signing lifetime contracts with other colonies just for a chance to leave! Please save our city. We’ve worked hard to build a home on this colony. If you can upgrade the City to level 2, then the factory can start supplying the city with Furniture again. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region used to rely on Furniture as the major industrial chain. Without the core Furniture demand from a Level 3 city, the balance between supply and demand broke. Your task is to upgrade the city to level 3 and assemble balance for the Furniture economy. | signature = Furniture, Furniture, Furniture! }} ====Afterword==== {{blockquote | text = Level 3! Imagine that! You’ve made our city better than ever! They said that a city in the desert isn’t the most natural idea, but you’ve allowed us to thrive! | signature = {{Signature-nanashi}} }} 16a457d7c3788428215966e5dbba6af82d966549 1493 1469 2024-02-09T22:20:23Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Historic Restoration |number = 10 |prevMissions = * [[Uphill Both Ways]] |nextMissions = * [[Shifting Sands]] * [[Bottleneck]] |biome = Desert |money = 11000 |objectives = {{!}}Furniture, Furniture, Furniture!{{!}}{{!}}Reach 512 population in quest [[City]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 2x [[Furniture Assembler]] - Level 3 * 3x [[Salt Refinery]] * 2x [[Oil Well]] * 1x [[Water Pump]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Oil Patches * Coal Deposits * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Plasticizer]] Industry Upon Mission Completion * [[Furniture Assemble]]r Industry ==Transcript== ====Preamble==== {{blockquote | text = Our once-proud Level 2 City has now de-leveled. Without the trucks, our Furniture Factory’s output could not reach our city. And without that factory, we all lost our jobs. The poor and desperate have been signing lifetime contracts with other colonies just for a chance to leave! Please save our city. We’ve worked hard to build a home on this colony. If you can upgrade the City to level 2, then the factory can start supplying the city with Furniture again. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region used to rely on Furniture as the major industrial chain. Without the core Furniture demand from a Level 3 city, the balance between supply and demand broke. Your task is to upgrade the city to level 3 and assemble balance for the Furniture economy. | signature = Furniture, Furniture, Furniture! }} ====Afterword==== {{blockquote | text = Level 3! Imagine that! You’ve made our city better than ever! They said that a city in the desert isn’t the most natural idea, but you’ve allowed us to thrive! | signature = {{Signature-nanashi}} }} 0425c2246150671c7922337480c7d6e771b46198 1494 1493 2024-02-09T22:20:33Z Hiroteashi 379511 /* Region Unlocks */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Historic Restoration |number = 10 |prevMissions = * [[Uphill Both Ways]] |nextMissions = * [[Shifting Sands]] * [[Bottleneck]] |biome = Desert |money = 11000 |objectives = {{!}}Furniture, Furniture, Furniture!{{!}}{{!}}Reach 512 population in quest [[City]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 2x [[Furniture Assembler]] - Level 3 * 3x [[Salt Refinery]] * 2x [[Oil Well]] * 1x [[Water Pump]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Oil Patches * Coal Deposits * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Plasticizer]] Industry Upon Mission Completion * [[Furniture Assembler]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Our once-proud Level 2 City has now de-leveled. Without the trucks, our Furniture Factory’s output could not reach our city. And without that factory, we all lost our jobs. The poor and desperate have been signing lifetime contracts with other colonies just for a chance to leave! Please save our city. We’ve worked hard to build a home on this colony. If you can upgrade the City to level 2, then the factory can start supplying the city with Furniture again. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region used to rely on Furniture as the major industrial chain. Without the core Furniture demand from a Level 3 city, the balance between supply and demand broke. Your task is to upgrade the city to level 3 and assemble balance for the Furniture economy. | signature = Furniture, Furniture, Furniture! }} ====Afterword==== {{blockquote | text = Level 3! Imagine that! You’ve made our city better than ever! They said that a city in the desert isn’t the most natural idea, but you’ve allowed us to thrive! | signature = {{Signature-nanashi}} }} 1009537b3e34d055ae4ed807f785380eb082f79d Category:Missions 14 11 1470 1037 2024-02-09T19:47:30Z Hiroteashi 379511 wikitext text/x-wiki ==General== ===Obtaining Ranks=== Completing any Campaign Region will earn a player a Rank Grade ranging from S to C (decreasing). Modifiers however can lock the potential Rank Grades to a lower value. * S ranks are awarded when the region is completed before the listed Par Time. * A ranks are awarded for completions before <code>Par Time * 1.25</code> * B ranks are awarded for completions before <code>Par Time * 1.50</code> * C ranks are awarded for completions before <code>Par Time * 3.00</code> ===Vouchers=== Ranks determine how many [[Voucher Exchange|Vouchers]] the player receives from a region - with 4 being the maximum at S rank and scaling down to the minimum of 1 voucher for C ranks. ===Modifiers=== * '''No Ghosting''' - Disables [[train ghosting]]. Trains will be blocked with meeting face to face instead of phasing through each other. Has no effect on Rank Grades. * '''No Timer''' - Time will not be measured. A rank will automatically be given upon region completion. * '''Millionare Mode''' - Cash is locked to 1,000,000 JPY. B rank will be granted automatically upon region completion. * '''Endless Mode''' - Removes all tasks and ending conditions. Gameplay will never end. Due to the fact the region cannot be completed, Players cannot earn a Rank Grade with this modifier. ==Mission List== {| class="wikitable cargoTable noMerge customTable" |+ Mission List |- ! class="customTableHeader"|Region Number !! class="customTableHeader"|Mission Name !! class="customTableHeader"|S Rank Par Time |- | T1 || [[Track & Train]]|| 5:00 |- | T2 || [[Branch Control]] || 5:00 |- | T3 || [[Industrial Chain Primer]] || 5:00 |- | 1 || [[First Job]] || 10:00 |- | S1 || [[Validation Skip]] || 25:00 |- | 2 || [[Oil Overflow]] || 15:00 |- | 2 Bonus || [[Oil Overflow Omega]] [High Volume Oil] || 25:00 |- | 3 || [[Mix Oil and Water]] || 20:00 |- | 3 Bonus || [[Power Supply and Demand]] || 20:00 |- | 4 || [[Stretched Thin]] || 20:00 |- | 4 Bonus A || [[Metalsome Production]] || 20:00 |- | 4 Bonus B || [[Round About and Out]] [Import Dock] || 25:00 |- | 5 || [[Fork in the Water]] || 25:00 |- | S2 || [[Giant Choice]] || 25:00 |- | 6 || [[Rooting out the Route]] || 15:00 |- | 6 Bonus || [[Glassed Over]] [Import Dock] || 20:00 |- | 7 || [[Salt City]] || 25:00 |- | 8 || [[Gorge of Greed]] || 30:00 |- | 9 || [[Uphill Both Ways]] || 25:00 |- | 9 Bonus A || [[Ancient Erosion]] || 35:00 |- | 9 Bonus B || [[The Spire]] || 35:00 |- | 10 || [[Historic Restoration]] || 35:00 |- | 10 Bonus || [[Bottleneck]] || 35:00 |- | 11 || [[Shifting Sands]] || 25:00 |- | 12 Branch A1 || [[A Lighter Form of Oil]] [Neon from Oil] || 35:00 |- | 12 Branch A2 || [[Good Buys Forever]] || 50:00 |- | 12 Branch B || [[Downletting Upholsteries]] [Mass Furniture] || 35:00 |- | 12 Bonus || [[Back to Basics]] || 40:00 |- | 13 || [[Waste Not; Want More]] [Waste Management] || 35:00 |- | 13 Bonus A || [[Aggressive Zoning]] || 30:00 |- | 13 Bonus B || [[For the Greater Good]] || 50:00 |- | 14 || [[Runaway Train]] || 10:00 |- | 15 || [[Space Park]] || 50:00 |- | 15 Bonus || [[Extra Tooling]] || 50:00 |- | 16 || [[CO2 WARNING]] || 40:00 |- | 16 Bonus A || [[CO2 WARNING REDUX]] || 40:00 |- | 16 Bonus B || [[No Distance Too Far]] || 1:00:00 |- | 17 || [[Luxurious Vistas]] || 1:00:00 |- | 17 Bonus || [[Capital Renewal]] || 1:30:00 |- | 18 || [[The Interchange]] || 45:00 |- | 19 || [[Signs of Change]] || 1:30:00 |- | 19 Bonus A || [[Semiconductor Valley]] || 1:30:00 |- | 19 Bonus B || [[Rental Plan]] || 1:00:00 |- | 20 || [[In Media Res]] || 1:30:00 |- | 20 Bonus || [[Mass Media]] || 1:00:00 |- | 21 Branch A || [[Server Farming]] [Mainframes] || 1:30:00 |- | 21 Branch B || [[Actuation Station]] [Heavy tools and Motors] || 1:30:00 |- | 21 Bonus || [[Frost Pit]] || 1:30:00 |- | 22 Branch A || [[Heavy Arms]] [Robotics] || 1:30:00 |- | 22 Branch B || [[Spacefleet Spares]] [Rocket Parts] || 1:30:00 |- | 23 Branch A || [[Frozen Dam]] [Mobile Computers] || 1:30:00 |- | 23 Branch B || [[Out of Rocket Expenses]] [WorkRockets] || 1:30:00 |- | 23 Bonus || [[Cratered]] || 1:30:00 |- | 24 || [[Prime Slime]] || 1:30:00 |- | 24 Bonus A || [[Gridlock]] || 1:30:00 |- | 24 Bonus B || [[Clipped Wings]] || 1:30:00 |- | 24 Bonus C || [[Incremental Maximizer]] || 2:00:00 |- | 24.5 Bonus A || [[Dusty with a Chance of Rain]] || 1:30:00 |- | 24.5 Bonus B || [[Out to the Cleaners]] || 45:00 |- | 24.5 || [[Brewing Up a Storm]] || 1:30:00 |- | 25 || [[Flying Steel]] || 45:00 |- | 25 Bonus || [[Snow Spearhead]] || 1:00:00 |- | 26 || [[Plastic Canon]] || 45:00 |- | 27 || [[Last Job]] || 1:30:00 |- | 27 Bonus A || [[Trinity]] || 1:30:00 |- | 27 Bonus B || [[The Lap of Luxury]] || 1:00:00 |- | 27 Bonus C || [[Looking for a Silver Liner]] || 1:30:00 |- | 27 Bonus D || [[Exos Nil]] || 1:30:00 |} 64a9dc0179ae566f74ed19a6b55eb55c82fa7447 File:Map Bottleneck.png 6 377 1471 2024-02-09T19:50:25Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Bottleneck's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Bottleneck's starting layout a100965c1e86cfbd9595d5252cdd09178ea57c06 Bottleneck 0 256 1472 751 2024-02-09T19:51:15Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Bottleneck |number = 10 Bonus |prevMissions = [[Historic Restoration]] |biome = Boreal |money = 29000 |objectives = {{!}}T'was a Concrete Delivery{{!}}{{!}}Export 256 [[Concrete]] at quest [[Zeppelin Dock]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 3x [[Concrete Yard]] * 1x [[Silica Quarry]] * 1x [[Water Pump]] * 1x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = In planning, this region was to provide much of the Colony’s Concrete supply. In practice, vast volumes were wasted stabilizing the region’s steep cliffs. Your task is to ignore regional stability and export all Concrete production. | signature = T'was a Concrete Delivery }} 3b0a40c5f5799f675cbb1aee08518efa1acce970 File:Map Shifting Sands.png 6 378 1473 2024-02-09T19:53:26Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Shifting Sands's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Shifting Sands's starting layout 5707ad14fd4831294e0aa8ac43cf971e8d102c29 Shifting Sands 0 257 1474 753 2024-02-09T19:54:06Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Shifting Sands |number = 11 |prevMissions = * [[Historic Restoration]] |nextMissions = * [[A Lighter Form of Oil]] * [[Downletting Upholsteries]] |biome = Desert |money = 7000 |objectives = {{!}}Houses built on Sand{{!}}{{!}}Export 64 [[Appliances]] at quest [[Zeppelin Dock]] |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[Steel Mill]] - Level 2 * 2x [[Appliance Plant]] * 1x [[Geothermal]] * 2x [[Wire Coiler]] * 2x [[Iron Mine]] * 2x [[Coal Mine]] * 2x [[Copper Mine]] * 1x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Steam Vents ==Transcript== ====Preamble==== {{blockquote | text = Please help us! Our region was built on shifting sands. Prior administrators threw truck after truck into the sand dunes but never found a stable path. We've been cut off ever since. All industries idled and our city's workers unemployed. Our tests with wooden planks and old dishwashers showed promise. If you stick to ground level railways the tracks should spread weight across the sand. I promise. Please. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region cannot be abandoned, we've invested too much. Your task is to stay low, build ground level railways and export Appliances. The shifting sands cannot support elevated tracks so use crossings and branches as required. | signature = Houses built on Sand }} ====Afterword==== {{blockquote | text = Oh. Wow. It worked. Truth be told, the wooden plank and dishwasher tests all sunk after an hour. Sorry to mislead you but we were desperate. We’ve started half filling the train cars. That should keep the sinking to a minimum. | signature = {{Signature-nanashi}} }} 5ef4875d5ee14c0243c963e1fa8e3174f2b1d01a Voucher Exchange 0 73 1475 1386 2024-02-09T19:55:11Z Hiroteashi 379511 wikitext text/x-wiki ==Information== {{StructureInfoBox|name=Voucher Exchange|length=2|width=2}} [[Category:Structures]] The Voucher Exchange is a campaign only structure that comes pre-placed on the map. This is the location where the player spends their Vouchers gained from earning ranks in the [[:category:missions|story campaign]]. While the shop selection is limited at the start of the campaign, more purchases will unlock in pace with the player's progression through the campaign's main story-line. Every purchase at the Voucher Exchange is permanent and the unlocked licenses will carry over from region to region. The Voucher Exchange offers licenses for the utilization of: [[category:Trains]], [[category:structures|Industries]], Industry upgrades, [[Music]], and a few other miscellaneous upgrades for the player. {| class="wikitable cargoTable noMerge customTable" |+ Purchasable with Vouchers |- ! colspan="3" class="customTableHeader"|Train Engines |- | {{ItemLarge|Spark}} || {{ItemLarge|Rescue}} || {{ItemLarge|Diesel Deluxe}} |- | {{ItemLarge|CUSTOM}} || {{ItemLarge|Bullet}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Industry |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Electronics Fab}} || {{ItemLarge|The Mechanist}} |- | {{ItemLarge|Geothermal}} || {{ItemLarge|City}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Station Upgrades |- | {{ItemLarge|Station Tile|Station Overdrive++}} ||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Music Tracks |- |{{ItemLarge|Music|Tape #039}}||{{ItemLarge|Music|Ghost City}}||{{ItemLarge|Music|Arson}} |- |{{ItemLarge|Music|4x4}}||{{ItemLarge|Music|Stabilization Procedure}}||{{ItemLarge|Music|Luminance}} |- |{{ItemLarge|Music|Glowing Nights}}||{{ItemLarge|Music|Catman}}||{{ItemLarge|Music|Starfall}} |- |{{ItemLarge|Music|Met You in TV}}||{{ItemLarge|Music|Marshmellow Galaxy}}||{{ItemLarge|Music|Dangerous Rendezvous}} |- |{{ItemLarge|Music|Dancing Shadows}}||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Industry Upgrade Licenses |- | {{ItemLarge|Oil Powerplant}} || {{ItemLarge|Neon Refinery}} || {{ItemLarge|Concrete Yard}} |- | {{ItemLarge|Furniture Assembler}} || {{ItemLarge|Motor Assembly}} || {{ItemLarge|Appliance Plant}} |- | {{ItemLarge|Coal Gassifier}} || {{ItemLarge|Oil Refinery}} || {{ItemLarge|Hullyard}} |- | {{ItemLarge|Hardmold}} || {{ItemLarge|The Mechanist}} || {{ItemLarge|Framer}} |- | {{ItemLarge|Grey Assembly}} || {{ItemLarge|Glass Smelter}} || {{ItemLarge|Tool Die}} |- | {{ItemLarge|Luxury Assembler}} || {{ItemLarge|WorkRocket Platform}} || {{ItemLarge|SpaceLiner Platform}} |- | {{ItemLarge|Compute Platform}} || {{ItemLarge|Incinerator}} || {{ItemLarge|Armory}} |- | {{ItemLarge|Plasticizer}} || {{ItemLarge|Coal Powerplant}} || {{ItemLarge|Booster Plant}} |- | {{ItemLarge|Electronics Fab}} || {{ItemLarge|Steel Mill}} || {{ItemLarge|Wire Coiler}} |- | {{ItemLarge|CPU Fab}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Heavyworks}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Signworks}} || {{ItemLarge|Tube Plant}} |- | {{ItemLarge|Rocket Factory}} || {{ItemLarge|Salt Refinery}} || &nbsp; |} 563c013a6b00e5a2742b9bbd10da61782e1488b5 Music 0 379 1476 2024-02-09T21:08:00Z Hiroteashi 379511 Created page with "==Music== {{StructureInfoBox|name=Music|length=0|width=0}} Railgrade has what some people may call "A Banger of a Soundtrack." These are the contributing artists and their music tracks used in game. Note that some music must be purchased at the [[Voucher Exchange]] to access them in game. This does not apply to [[Sandbox Mode]] as all songs will be on the playlist due to there not being a voucher system in that game mode. {| class="wikitable cargoTable noMerge customT..." wikitext text/x-wiki ==Music== {{StructureInfoBox|name=Music|length=0|width=0}} Railgrade has what some people may call "A Banger of a Soundtrack." These are the contributing artists and their music tracks used in game. Note that some music must be purchased at the [[Voucher Exchange]] to access them in game. This does not apply to [[Sandbox Mode]] as all songs will be on the playlist due to there not being a voucher system in that game mode. {| class="wikitable cargoTable noMerge customTable sortable" |+ Caption text |- ! class="customTableHeader"|Artist !! class="customTableHeader"|Track Title (MM:SS) !! class="customTableHeader"|Track Length| class="customTableHeader"|Usage in game |- | [https://earmake.bandcamp.com/ EARMAKE] || Dancing Shadows || 288.4 || |- | EARMAKE || Dangerous Rendezvous || 261.84 || |- | EARMAKE || Last Hope || 293.69 || |- | EARMAKE || Cosmic Hero|| 264.59 || |- | EARMAKE || Mystery of Betelgeuse || 261.84 || |- | EARMAKE || Moonlight || 266.6 || |- | [https://soundcloud.com/neko-code Neko Dreams]|| Marshmellow Galaxy || 140.76 || |- | Neko Dreams|| Meet You in TV || 186 || |- | Neko Dreams|| Starfall || 152.92 || Overworld Theme |- | Neko Dreams|| Adventure || 196 || |- | Neko Dreams|| City Runner || 220 || |- | Neko Dreams|| Smoothie || 166 || |- | [https://savvier.bandcamp.com/ Savvier] || 4x4 || 227.47 || |- | Savvier || Arson || 295.8 || |- | Savvier || Cyborg || 219.3 || |- | Savvier || Gas || 227.47 || |- | [https://icons8.com/music/artists/the-other-side The Other Side] || Engine || 186 || |- | [https://axeneon.bandcamp.com/ Le Brick] || Stabilization Procedure || 295.81 || |- | [https://www.youtube.com/@watercat6082 Watercat] || Catman || 227.54 || Main Menu Theme |- | [https://icons8.com/music/artists/dmitriy-diomores Dmitriy Diomores] || Ghost City || 251 || |- | [https://soundcloud.com/moroza_knozova/ Moroza Knozova] || Madness || 173.4 || |- | [https://icons8.com/music/artists/vermos Vermos] || Synthetic Mantra || 146 || Shop Music |- | [https://powerrun.bandcamp.com/album/summer-holidays Power Run] || Tape #039 || 50.79 || Tutorial Victory Music |- | [https://sequel-police.bandcamp.com/album/glowing-nights-deluxe-version Sequel Police] || Glowing Nights || 242.39 || |- | [https://heroinboutique.bandcamp.com/album/luminance Nightdrive] || Luminance || 442.54 || |} ==Notes== The Artist's personal Bandcamp, Soundcloud or YouTube is the preferred link. However If that was not found, their YouTube Topic takes priority. The Icons8 link is a last resort to to its impresonal archive nature. c7922a58a5fedbd0ccb15d1b652945691b1ff45d 1477 1476 2024-02-09T21:25:38Z Hiroteashi 379511 wikitext text/x-wiki ==Music== [[File:Music.png|thumb|right|alt=Cassette Tape Image]] Railgrade has what some people may call "A Banger of a Soundtrack." These are the contributing artists and their music tracks used in game. Note that some music must be purchased at the [[Voucher Exchange]] to access them in game. This does not apply to [[Sandbox Mode]] as all songs will be on the playlist due to there not being a voucher system in that game mode. {| class="wikitable cargoTable noMerge customTable sortable" |+ Caption text |- ! class="customTableHeader"|Artist !! class="customTableHeader"|Track Title !! class="customTableHeader"|Track Length || class="customTableHeader"|Usage in game |- | [https://earmake.bandcamp.com/ EARMAKE] || Dancing Shadows || 4:48 || |- | EARMAKE || Dangerous Rendezvous || 4:22 || |- | EARMAKE || Last Hope || 4:54 || |- | EARMAKE || Cosmic Hero|| 4:25 || |- | EARMAKE || Mystery of Betelgeuse || 6:21 || |- | EARMAKE || Moonlight Breeze || 4:27 || |- | [https://soundcloud.com/neko-code Neko Dreams]|| Marshmellow Galaxy || 2:21 || |- | Neko Dreams|| Meet You in TV || 3:06 || |- | Neko Dreams|| Starfall || 2:33 || Overworld Theme |- | Neko Dreams|| Adventure || 3:16 || |- | Neko Dreams|| City Runner || 3:40 || |- | Neko Dreams|| Smoothie || 2:46 || |- | [https://savvier.bandcamp.com/ Savvier] || 4x4 || 3:47 || |- | Savvier || Arson || 4:56 || |- | Savvier || Cyborg || 3:39 || |- | Savvier || Gas || 4:22 || |- | [https://icons8.com/music/artists/the-other-side The Other Side] || Engine || 3:06 || |- | [https://axeneon.bandcamp.com/ Le Brick] || Stabilization Procedure || 4:56 || |- | [https://www.youtube.com/@watercat6082 Watercat] || Catman || 3:48 || Main Menu Theme |- | [https://icons8.com/music/artists/dmitriy-diomores Dmitriy Diomores] || Ghost City || 4:11 || |- | [https://soundcloud.com/moroza_knozova/ Moroza Knozova] || Madness || 2:53 || |- | [https://icons8.com/music/artists/vermos Vermos] || Synthetic Mantra || 2:26 || Shop Music |- | [https://powerrun.bandcamp.com/album/summer-holidays Power Run] || Tape #039 || 0:51 || Tutorial Victory Music |- | [https://sequel-police.bandcamp.com/album/glowing-nights-deluxe-version Sequel Police] || Glowing Nights || 4:02 || |- | [https://heroinboutique.bandcamp.com/album/luminance Nightdrive] || Luminance || 7:23 || |} ==Notes== The Artist's personal Bandcamp, SoundCloud or YouTube is the preferred link. However If that was not found, their YouTube Topic takes priority. The Icons8 link is a last resort to to its impersonal archive nature. add5fc4ac9363d180148e0b8ffdef5eb6959d0c2 1478 1477 2024-02-09T21:27:17Z Hiroteashi 379511 wikitext text/x-wiki ==Music== [[File:Music.png|thumb|right|alt=Cassette Tape Image]] Railgrade has what some people may call "A Banger of a Soundtrack." These are the contributing artists and their music tracks used in game. Note that some music must be purchased at the [[Voucher Exchange]] to access them in game. This does not apply to [[Sandbox Mode]] as all songs will be on the playlist due to there not being a voucher system in that game mode. {| class="wikitable cargoTable noMerge customTable sortable" |+ Caption text |- ! class="customTableHeader"|Artist !! class="customTableHeader"|Track Title !! class="customTableHeader"|Track Length || class="customTableHeader"|Usage in game |- | [https://earmake.bandcamp.com/ EARMAKE] || Dancing Shadows || 4:48 || |- | EARMAKE || Dangerous Rendezvous || 4:22 || |- | EARMAKE || Last Hope || 4:54 || |- | EARMAKE || Cosmic Hero|| 4:25 || |- | EARMAKE || Mystery of Betelgeuse || 6:21 || |- | EARMAKE || Moonlight Breeze || 4:27 || |- | [https://soundcloud.com/neko-code Neko Dreams]|| Marshmellow Galaxy || 2:21 || |- | Neko Dreams|| Meet You in TV || 3:06 || |- | Neko Dreams|| Starfall || 2:33 || Overworld Theme |- | Neko Dreams|| Adventure || 3:16 || |- | Neko Dreams|| City Runner || 3:40 || |- | Neko Dreams|| Smoothie || 2:46 || |- | [https://savvier.bandcamp.com/ Savvier] || 4x4 || 3:47 || |- | Savvier || Arson || 4:56 || |- | Savvier || Cyborg || 3:39 || |- | Savvier || Gas || 4:22 || |- | [https://icons8.com/music/artists/the-other-side The Other Side] || Engine || 3:06 || |- | [https://axeneon.bandcamp.com/ Le Brick] || Stabilization Procedure || 4:56 || |- | [https://www.youtube.com/@watercat6082 Watercat] || Catman || 3:48 || Main Menu Theme |- | [https://icons8.com/music/artists/dmitriy-diomores Dmitriy Diomores] || Ghost City || 4:11 || |- | [https://soundcloud.com/moroza_knozova/ Moroza Knozova] || Madness || 2:53 || |- | [https://icons8.com/music/artists/vermos Vermos] || Synthetic Mantra || 2:26 || Shop Music |- | [https://powerrun.bandcamp.com/album/summer-holidays Power Run] || Tape #039 || 0:51 || Tutorial Victory Music |- | [https://sequel-police.bandcamp.com/album/glowing-nights-deluxe-version Sequel Police] || Glowing Nights || 4:02 || |- | [https://heroinboutique.bandcamp.com/album/luminance Nightdrive] || Luminance || 7:23 || |} ==Notes== For purposes of linking the artist: The Artist's personal Bandcamp, SoundCloud or YouTube Channel was their preferred link. However if that was not found, their YouTube Topic took priority link. <br /> The Icons8 link was a last resort due to its impersonal archive nature and lack of artist contact information. 394728e371017c32ae3615405453442f2aff83ee 1482 1478 2024-02-09T21:32:25Z Hiroteashi 379511 wikitext text/x-wiki ==Music== [[File:Music.png|thumb|right|alt=Cassette Tape Image]] Railgrade has what some people may call "A Banger of a Soundtrack." These are the contributing artists and their music tracks used in game. Note that some music must be purchased at the [[Voucher Exchange]] to access them in game. This does not apply to [[Sandbox Mode]] as all songs will be on the playlist due to there not being a voucher system in that game mode. {| class="wikitable cargoTable noMerge customTable sortable" |+ Caption text |- ! class="customTableHeader"|Artist !! class="customTableHeader"|Track Title !! class="customTableHeader"|Track Length || class="customTableHeader"|Usage in game |- | [https://earmake.bandcamp.com/ EARMAKE] || Dancing Shadows || 4:48 || |- | EARMAKE || Dangerous Rendezvous || 4:22 || |- | EARMAKE || Last Hope || 4:54 || |- | EARMAKE || Cosmic Hero|| 4:25 || |- | EARMAKE || Mystery of Betelgeuse || 6:21 || |- | EARMAKE || Moonlight Breeze || 4:27 || |- | [https://soundcloud.com/neko-code Neko Dreams]|| Marshmellow Galaxy || 2:21 || |- | Neko Dreams|| Meet You in TV || 3:06 || |- | Neko Dreams|| Starfall || 2:33 || Overworld Theme |- | Neko Dreams|| Adventure || 3:16 || |- | Neko Dreams|| City Runner || 3:40 || |- | Neko Dreams|| Smoothie || 2:46 || |- | [https://savvier.bandcamp.com/ Savvier] || 4x4 || 3:47 || |- | Savvier || Arson || 4:56 || |- | Savvier || Cyborg || 3:39 || |- | Savvier || Gas || 4:22 || |- | [https://icons8.com/music/artists/the-other-side The Other Side] || Engine || 3:06 || |- | [https://axeneon.bandcamp.com/ Le Brick] || Stabilization Procedure || 4:56 || |- | [https://www.youtube.com/@watercat6082 Watercat] || Catman || 3:48 || Main Menu Theme |- | [https://icons8.com/music/artists/dmitriy-diomores Dmitriy Diomores] || Ghost City || 4:11 || |- | [https://soundcloud.com/moroza_knozova/ Moroza Knozova] || Madness || 2:53 || |- | [https://icons8.com/music/artists/vermos Vermos] || Synthetic Mantra || 2:26 || Shop Music |- | [https://powerrun.bandcamp.com/album/summer-holidays Power Run] || Tape #039 || 0:51 || Tutorial Victory Music |- | [https://sequel-police.bandcamp.com/album/glowing-nights-deluxe-version Sequel Police] || Glowing Nights || 4:02 || |- | [https://heroinboutique.bandcamp.com/album/luminance Nightdrive] || Luminance || 7:23 || |} ==Notes== For purposes of linking the Artist: * The Artist's personal Bandcamp, SoundCloud or YouTube Channel was their preferred link. * However if that was not found, their YouTube Topic took priority link. * The Icons8 link was a last resort due to its impersonal archive nature and lack of artist contact information. 5a69f0d1f1fac89ebfeef43a52e3f4de998ab8a9 1483 1482 2024-02-09T21:33:08Z Hiroteashi 379511 /* Notes */ wikitext text/x-wiki ==Music== [[File:Music.png|thumb|right|alt=Cassette Tape Image]] Railgrade has what some people may call "A Banger of a Soundtrack." These are the contributing artists and their music tracks used in game. Note that some music must be purchased at the [[Voucher Exchange]] to access them in game. This does not apply to [[Sandbox Mode]] as all songs will be on the playlist due to there not being a voucher system in that game mode. {| class="wikitable cargoTable noMerge customTable sortable" |+ Caption text |- ! class="customTableHeader"|Artist !! class="customTableHeader"|Track Title !! class="customTableHeader"|Track Length || class="customTableHeader"|Usage in game |- | [https://earmake.bandcamp.com/ EARMAKE] || Dancing Shadows || 4:48 || |- | EARMAKE || Dangerous Rendezvous || 4:22 || |- | EARMAKE || Last Hope || 4:54 || |- | EARMAKE || Cosmic Hero|| 4:25 || |- | EARMAKE || Mystery of Betelgeuse || 6:21 || |- | EARMAKE || Moonlight Breeze || 4:27 || |- | [https://soundcloud.com/neko-code Neko Dreams]|| Marshmellow Galaxy || 2:21 || |- | Neko Dreams|| Meet You in TV || 3:06 || |- | Neko Dreams|| Starfall || 2:33 || Overworld Theme |- | Neko Dreams|| Adventure || 3:16 || |- | Neko Dreams|| City Runner || 3:40 || |- | Neko Dreams|| Smoothie || 2:46 || |- | [https://savvier.bandcamp.com/ Savvier] || 4x4 || 3:47 || |- | Savvier || Arson || 4:56 || |- | Savvier || Cyborg || 3:39 || |- | Savvier || Gas || 4:22 || |- | [https://icons8.com/music/artists/the-other-side The Other Side] || Engine || 3:06 || |- | [https://axeneon.bandcamp.com/ Le Brick] || Stabilization Procedure || 4:56 || |- | [https://www.youtube.com/@watercat6082 Watercat] || Catman || 3:48 || Main Menu Theme |- | [https://icons8.com/music/artists/dmitriy-diomores Dmitriy Diomores] || Ghost City || 4:11 || |- | [https://soundcloud.com/moroza_knozova/ Moroza Knozova] || Madness || 2:53 || |- | [https://icons8.com/music/artists/vermos Vermos] || Synthetic Mantra || 2:26 || Shop Music |- | [https://powerrun.bandcamp.com/album/summer-holidays Power Run] || Tape #039 || 0:51 || Tutorial Victory Music |- | [https://sequel-police.bandcamp.com/album/glowing-nights-deluxe-version Sequel Police] || Glowing Nights || 4:02 || |- | [https://heroinboutique.bandcamp.com/album/luminance Nightdrive] || Luminance || 7:23 || |} ==Notes== For purposes of linking the Artist: * The preferred link was to the Artist's personal Bandcamp, SoundCloud or YouTube Channel. * However if that was not found, their YouTube Topic took priority. * The Icons8 link was a last resort due to its impersonal archive nature and lack of artist contact information. 3c66e7c0741c330d7c9114299f55a2f8255440a3 1484 1483 2024-02-09T21:54:35Z Hiroteashi 379511 /* Music */ wikitext text/x-wiki ==Music== [[File:Music.png|thumb|right|alt=Cassette Tape Image]] Railgrade has what some people may call "A Banger of a Soundtrack." These are the contributing artists and their music tracks used in game. Note that some music must be purchased at the [[Voucher Exchange]] to access them in game. This does not apply to [[Sandbox Mode]] as all songs will be on the playlist due to there not being a voucher system in that game mode. {| class="wikitable cargoTable noMerge customTable sortable" |+ Caption text |- ! class="customTableHeader"|Artist !! class="customTableHeader"|Track Title !! class="customTableHeader"|Track Length || class="customTableHeader"|Usage in game |- | [https://earmake.bandcamp.com/ EARMAKE] || Dancing Shadows || 4:48 || |- | EARMAKE || Dangerous Rendezvous || 4:22 || |- | EARMAKE || Last Hope || 4:54 || |- | EARMAKE || Cosmic Hero|| 4:25 || |- | EARMAKE || Mystery of Betelgeuse || 6:21 || |- | EARMAKE || Moonlight Breeze || 4:27 || |- | [https://soundcloud.com/neko-code Neko Dreams]|| Marshmellow Galaxy || 2:21 || |- | Neko Dreams|| Meet You in TV || 3:06 || |- | Neko Dreams|| Starfall || 2:33 || Overworld Theme |- | Neko Dreams|| Adventure || 3:16 || |- | Neko Dreams|| City Runner || 3:40 || |- | Neko Dreams|| Smoothie || 2:46 || |- | [https://savvier.bandcamp.com/ Savvier] || 4x4 || 3:47 || |- | Savvier || Arson || 4:56 || |- | Savvier || Cyborg || 3:39 || Victory Music |- | Savvier || Gas || 4:22 || |- | [https://icons8.com/music/artists/the-other-side The Other Side] || Engine || 3:06 || |- | [https://axeneon.bandcamp.com/ Le Brick] || Stabilization Procedure || 4:56 || |- | [https://www.youtube.com/@watercat6082 Watercat] || Catman || 3:48 || Main Menu Theme |- | [https://icons8.com/music/artists/dmitriy-diomores Dmitriy Diomores] || Ghost City || 4:11 || |- | [https://soundcloud.com/moroza_knozova/ Moroza Knozova] || Madness || 2:53 || |- | [https://icons8.com/music/artists/vermos Vermos] || Synthetic Mantra || 2:26 || Shop Music |- | [https://powerrun.bandcamp.com/album/summer-holidays Power Run] || Tape #039 || 0:51 || Tutorial Victory Music |- | [https://sequel-police.bandcamp.com/album/glowing-nights-deluxe-version Sequel Police] || Glowing Nights || 4:02 || |- | [https://heroinboutique.bandcamp.com/album/luminance Nightdrive] || Luminance || 7:23 || |} ==Notes== For purposes of linking the Artist: * The preferred link was to the Artist's personal Bandcamp, SoundCloud or YouTube Channel. * However if that was not found, their YouTube Topic took priority. * The Icons8 link was a last resort due to its impersonal archive nature and lack of artist contact information. 197d75c9cbff050e21a682b954b814dec3465f56 File:Map Lap of Luxury.png 6 380 1479 2024-02-09T21:30:35Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of Lap of Luxury's starting layout wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of Lap of Luxury's starting layout bfba789a38dad6c39633a9e7ba14368b882a5a6d The Lap of Luxury 0 300 1480 849 2024-02-09T21:31:36Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Lap of Luxury |number = 27 Bonus B |prevMissions = [[Last Job]] |biome = Tundra |money = 7000 |objectives = {{!}}Shuffling Workers{{!}}{{!}}Launch 2 [[SpaceLiners Platform|SpaceLiners]] at quest Platform |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[SpaceLiner Platform]] (Quest Structure) * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] - Level 5 * 4x [[Oil Well]] - Level 5 * 1x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Up for a challenge? With a mere 20 Workers, launch a couple Spaceliners. | signature = Shuffling Workers }} 5693205e0c46870f4b15dff4810b97c43f75862c 1481 1480 2024-02-09T21:31:57Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Lap of Luxury |number = 27 Bonus B |prevMissions = [[Last Job]] |biome = Tundra |money = 7000 |objectives = {{!}}Shuffling Workers{{!}}{{!}}Launch 2 [[SpaceLiner Platform|SpaceLiners]] at quest Platform |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[SpaceLiner Platform]] (Quest Structure) * 1x [[Zeppelin Dock]] * 1x [[Oil Powerplant]] - Level 5 * 4x [[Oil Well]] - Level 5 * 1x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Up for a challenge? With a mere 20 Workers, launch a couple Spaceliners. | signature = Shuffling Workers }} 06d83ea551b0a47b69984a5bb59606a05405e5c7 A Lighter Form of Oil 0 258 1485 756 2024-02-09T22:00:42Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = A Lighter Form of Oil |subtitle = Neon from Oil |number = 12 Branch A1 |prevMissions = [[Shifting Sands]] |nextMissions = [[Good Buys Forever]] |biome = Savannah |money = 17000 |objectives = {{!}}Voluminous Neon{{!}}{{!}}Export 184 Neon Gas at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x Neon Refinery - Level 3 * 4x Oil Refinery * 1x Oil Powerplant * 3x Water Pump * 1x Oil Well - Level 3 * 1x Oil Well - Level 1 * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Oil Patches * Water Springs * Steam Vents ==Region Unlocks== Upon Mission Completion * Oil Refinery * Neon Refinery ==Transcript== ====Preamble==== {{blockquote | text = Neon Gas demand is growing year by year. Obviously Earth cannot support such a dirty industry. So colonies like ours serve the role. Don't worry about the pollution, the profits are worth it. Please restart this region’s Neon Gas refinement industry - you can use raw Oil to make Neon Gas. Along the chain you should consider leveraging catalysts and upgrades to improve production volume. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Earth needs Neon Gas, so says Saito. Towards your task, this region has received a Level 3 Neon Refinery plus ample Oil Refineries. Build out your railways and pressurize those Neon Gas exports! | signature = Voluminous Neon }} ====Afterword==== {{blockquote | text = Well done! We’ve received your first Neon Gas shipments. The quality is top notch, and the environmental inspectors missed any off gassing upon Earth entry. | signature = {{Signature-saito-1}} }} ==Trivia== There is no known process for obtaining Neon from Oil. The nonsense name of the mission is to allude to how contrived this particular industry chain is. However, there is a process by which Neon can be isolated by filtering the product of cryogenic air-separators through charcoal so maybe the Coal Gasifier would have been a more life-accurate alternative. 2bf3e5ec824af953809a5b9f44df4bed0102d4e6 1487 1485 2024-02-09T22:04:09Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = A Lighter Form of Oil |subtitle = Neon from Oil |number = 12 Branch A1 |prevMissions = [[Shifting Sands]] |nextMissions = [[Good Buys Forever]] |biome = Savannah |money = 17000 |objectives = {{!}}Voluminous Neon{{!}}{{!}}Export 184 [[Neon Gas]] at quest [[Zeppelin Dock]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[Neon Refinery]] - Level 3 * 4x [[Oil Refinery]] * 1x [[Oil Powerplant]] * 3x [[Water Pump]] * 1x [[Oil Well]] - Level 3 * 1x [[Oil Well]] - Level 1 * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Oil Patches * Water Springs * Steam Vents ==Region Unlocks== Upon Mission Completion * [[Oil Refinery]] * [[Neon Refinery]] ==Transcript== ====Preamble==== {{blockquote | text = Neon Gas demand is growing year by year. Obviously Earth cannot support such a dirty industry. So colonies like ours serve the role. Don't worry about the pollution, the profits are worth it. Please restart this region’s Neon Gas refinement industry - you can use raw Oil to make Neon Gas. Along the chain you should consider leveraging catalysts and upgrades to improve production volume. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Earth needs Neon Gas, so says Saito. Towards your task, this region has received a Level 3 Neon Refinery plus ample Oil Refineries. Build out your railways and pressurize those Neon Gas exports! | signature = Voluminous Neon }} ====Afterword==== {{blockquote | text = Well done! We’ve received your first Neon Gas shipments. The quality is top notch, and the environmental inspectors missed any off gassing upon Earth entry. | signature = {{Signature-saito-1}} }} ==Trivia== There is no known process for obtaining Neon from Oil. The nonsense name of the mission is to allude to how contrived this particular industry chain is. However, there is a process by which Neon can be isolated by filtering the product of cryogenic air-separators through charcoal so maybe the Coal Gasifier would have been a more life-accurate alternative. afac0156deb969f4c3deb479d109520ccea1ed04 File:Map A Lighter Form of Oil.png 6 381 1486 2024-02-09T22:03:17Z Hiroteashi 379511 Screenshot of the "a Lighter Form of Oil" region [[category:map_Files]] wikitext text/x-wiki == Summary == Screenshot of the "a Lighter Form of Oil" region [[category:map_Files]] f46ab620ccc851cc9a85409e5f09e268ba44395b Neon Refinery 0 155 1488 1293 2024-02-09T22:05:19Z Hiroteashi 379511 wikitext text/x-wiki [[category:Structures]] ===Description=== {{IndustryTableHeader|Recipe| {{IndustryDataParser|Neon Refinery}}}} ===Barks=== * Excuse me * Sorry for the gas * That smell is normal * Keep flame away ===Trivia=== Neon Gas in actuality is extremely non-reactive and is not made using any oil-based processes. However, there is a process by which Neon can be isolated by filtering the product of cryogenic air-separators through charcoal so maybe the Coal Gasifier to Neon Production line might have a grain of accuracy to it. c605b5d7d3425733214015116ae9d60cad4392d7 File:Map Good Buys Forever.png 6 382 1489 2024-02-09T22:07:04Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Good Buy Forever" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Good Buy Forever" region 1625e188037b27b61e27af084ce378cdf42c0d4a Good Buys Forever 0 259 1490 760 2024-02-09T22:12:14Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Good Buys Forever |number = 12 Branch A2 |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Savannah |money = 17000 |objectives = {{!}}Doing right by the Factories{{!}}{{!}}Export 196 [[Appliances]] at quest [[Zeppelin Dock]] |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x [[Appliance Plant]] * 1x [[Electronics Fab]] * 5x [[Wire Coiler]] * 1x [[Coal Powerplant]] * 2x [[Coal Mine]] * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * Water Pump Industry * Oil Well Industry Upon Mission Completion * Appliance Plant Industry * Hard Mold Industry * Electronics Fab Industry ==Transcript== ====Preamble==== {{blockquote | text = We’ve got two incredible Appliance Plant just sitting idle. It is a true shame of corporate mismanagement that the beauties are just depreciating away. We want you to do right by them. Or you could use the Electronics factory. In theory that black box can produce Appliances too but it is so ugly no one has touched that thing in years. In either case our economy is Appliances dependent and the Appliances must flow. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Restart Appliances production with an eye for export. Remember to grow the city for extra Workers. Electronics Fab or regular Appliance Plant, either work. But Appliance Plants are finer. Or so say the locals. | signature = Doing right by the Factories }} ==Trivia== Appliances used to be called "Goods" in game, thus making the region's name much more pertinent to the overall objective. However as players were confusing the term Goods with Freight, the term was changed to what it is now, leaving the region name anachronistic. 06fc5c319de7ae79a71d798970f0762ba5021928 1491 1490 2024-02-09T22:16:35Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Good Buys Forever |number = 12 Branch A2 |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Savannah |money = 17000 |objectives = {{!}}Doing right by the Factories{{!}}{{!}}Export 196 [[Appliances]] at quest [[Zeppelin Dock]] |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x [[Appliance Plant]] * 1x [[Electronics Fab]] * 5x [[Wire Coiler]] * 1x [[Coal Powerplant]] * 2x [[Coal Mine]] * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents Upon Mission Completion * [[Appliance Plant]] Industry * [[Hardmold]] Industry * [[Electronics Fab]] Industry for voucher purchase ==Transcript== ====Preamble==== {{blockquote | text = We’ve got two incredible Appliance Plant just sitting idle. It is a true shame of corporate mismanagement that the beauties are just depreciating away. We want you to do right by them. Or you could use the Electronics factory. In theory that black box can produce Appliances too but it is so ugly no one has touched that thing in years. In either case our economy is Appliances dependent and the Appliances must flow. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Restart Appliances production with an eye for export. Remember to grow the city for extra Workers. Electronics Fab or regular Appliance Plant, either work. But Appliance Plants are finer. Or so say the locals. | signature = Doing right by the Factories }} ==Trivia== Appliances used to be called "Goods" in game, thus making the region's name much more pertinent to the overall objective. However as players were confusing the term Goods with Freight, the term was changed to what it is now, leaving the region name anachronistic. a2faa3294e5d9526669e2d4ff83fc3d73e3e1837 Downletting Upholsteries 0 260 1492 761 2024-02-09T22:18:53Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Downletting Upholsteries |subtitle = Mass Furniture |number = 12 Branch B |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Temperate |money = 47000 |objectives = {{!}}Coalish Furniture{{!}}{{!}}Export 128 Furniture at quest Zeppelin Dock |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 6 Hard Mold * 1x City * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents Upon Mission Completion * [[Oil Refinery]] Industry * [[Neon Refinery]] Industry * [[Appliance Plant]] Industry * [[Hardmold]] Industry * [[Electronics Fab]] Industry for voucher purchase ==Transcript== ====Preamble==== {{blockquote | text = Do you like Coal? We do. We didn’t when we first moved here but work with it long enough and you come to terms. You see our region was assigned to manufacture Furniture from Coal using Hardmolds on the far bank of the valley. We hope there was more to the decision than the rumoured random dice. Perhaps you’ll see the logic in the situation, we sure don’t. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Hardmolds allow Plastic production even for regions with Coal but no Oil. Your task is to press this region’s plentiful Coal into household Furniture. Coal based Plastic is an acquired habit but the locals are pressuring you to rescue their mismatched work assignments. | signature = Coalish Furniture }} ====Afterword==== {{blockquote | text = You’ve gotten our lives back on track. Earlier I asked why our region got such an odd assignment. You know what? Don’t answer. Worst case the remote administrator before you truly did pick assignments at random. If so, I do not want to know the truth. Just please tell them to care a bit more. | signature = {{Signature-nanashi}} }} 9d2d722f125175b60d64c0e2edef66fc6e6700d6 1495 1492 2024-02-09T22:21:13Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Downletting Upholsteries |subtitle = Mass Furniture |number = 12 Branch B |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Temperate |money = 47000 |objectives = {{!}}Coalish Furniture{{!}}{{!}}Export 128 [[Furniture]] at quest [[Zeppelin Dock]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 6 [[Hardmold]] * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents Upon Mission Completion * [[Oil Refinery]] Industry * [[Neon Refinery]] Industry * [[Appliance Plant]] Industry * [[Hardmold]] Industry * [[Electronics Fab]] Industry for voucher purchase ==Transcript== ====Preamble==== {{blockquote | text = Do you like Coal? We do. We didn’t when we first moved here but work with it long enough and you come to terms. You see our region was assigned to manufacture Furniture from Coal using Hardmolds on the far bank of the valley. We hope there was more to the decision than the rumoured random dice. Perhaps you’ll see the logic in the situation, we sure don’t. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Hardmolds allow Plastic production even for regions with Coal but no Oil. Your task is to press this region’s plentiful Coal into household Furniture. Coal based Plastic is an acquired habit but the locals are pressuring you to rescue their mismatched work assignments. | signature = Coalish Furniture }} ====Afterword==== {{blockquote | text = You’ve gotten our lives back on track. Earlier I asked why our region got such an odd assignment. You know what? Don’t answer. Worst case the remote administrator before you truly did pick assignments at random. If so, I do not want to know the truth. Just please tell them to care a bit more. | signature = {{Signature-nanashi}} }} cc59e93f16d4da399bb1897a9c12dc01986a20d1 1497 1495 2024-02-09T22:22:50Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Downletting Upholsteries |subtitle = Mass Furniture |number = 12 Branch B |prevMissions = * [[A Lighter Form of Oil]] |nextMissions = * [[Waste Not; Want More]] * [[Back to Basics]] |biome = Temperate |money = 47000 |objectives = {{!}}Coalish Furniture{{!}}{{!}}Export 128 [[Furniture]] at quest [[Zeppelin Dock]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 6 [[Hardmold]] * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents Upon Mission Completion * [[Hardmold]] Industry * [[Oil Refinery]] Industry * [[Neon Refinery]] Industry * [[Appliance Plant]] Industry * [[Electronics Fab]] Industry for voucher purchase ==Transcript== ====Preamble==== {{blockquote | text = Do you like Coal? We do. We didn’t when we first moved here but work with it long enough and you come to terms. You see our region was assigned to manufacture Furniture from Coal using Hardmolds on the far bank of the valley. We hope there was more to the decision than the rumoured random dice. Perhaps you’ll see the logic in the situation, we sure don’t. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = Hardmolds allow Plastic production even for regions with Coal but no Oil. Your task is to press this region’s plentiful Coal into household Furniture. Coal based Plastic is an acquired habit but the locals are pressuring you to rescue their mismatched work assignments. | signature = Coalish Furniture }} ====Afterword==== {{blockquote | text = You’ve gotten our lives back on track. Earlier I asked why our region got such an odd assignment. You know what? Don’t answer. Worst case the remote administrator before you truly did pick assignments at random. If so, I do not want to know the truth. Just please tell them to care a bit more. | signature = {{Signature-nanashi}} }} 81665c310de432451a768baecbc62e38ea58a4b9 File:Map Downletting Upholsteries.png 6 383 1496 2024-02-09T22:22:06Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Downletting Upholsteries" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Downletting Upholsteries" region a3e501559bf6b27fd7c03c2a2238a274aa0fd45d File:Map Back to Basics.png 6 384 1498 2024-02-09T22:24:11Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Back to Basics" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Back to Basics" region 02c142c0dc2972ee29f74df81b113d5c2c7dca1e Back to Basics 0 261 1499 759 2024-02-09T22:24:45Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Back to Basics |number = 12 Bonus |prevMissions = * [[Good Buys Forever]] * [[Downletting Upholsteries]] |biome = Temperate |money = |objectives = {{!}}First Job Second Verse{{!}}{{!}}Export an average of 64 [[Water]] per minute |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[Coal Powerplant]] * 1x [[Water Pump]] * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Your task is to squeeze this region into a local Water export powerhouse. Corporate’s requirements are for 16 Water Pumps worth of flow. Achieve this through new construction, upgrades, and catalysts. | signature = First Job Second Verse }} 60d137630cb604d47bb56a4f874e686ee46610c5 Waste Not; Want More 0 262 1500 768 2024-02-09T22:26:34Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Waste Not; Want More |number = 13 |prevMissions = * [[Downletting Upholsteries]] * [[Good Buys Forever]] |nextMissions = * [[Runaway Train]] * [[Aggressive Zoning]] * [[For the Greater Good]] |biome = Temperate |money = 17000 |objectives = {{!}}Dirty Neon{{!}}{{!}}Export 168 [[Neon Gas]] at quest [[Zeppelin Dock]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[Neon Refinery]] - Level 3 * 1x [[Incinerator]] - Level 3 * 1x Incinerator - Level 0 * 1x [[Coal Gassifier]] - Level 2 * 1x Coal Gassifier - Level 1 * 1x Coal Gassifier - Level 0 * 1x [[Coal Powerplant]] * 4x [[Coal Mine]] - Level 2 * 2x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Region Unlocks== Upon Mission Completion * [[Incinerator]] Industry * [[Coal Gassifier]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Thankfully my meetings are all cancelled. They were a waste of time. The board was not respecting my experience. I’ll be blunt: Nakatani Chemicals needs us. Do not tell anyone else but they are in dire need of more Neon Gas. An alert on my terminal gave away the secret; even our neon billboards are running low. This Coal-only region is not ideal. Oil would be better. We have no choice. You must make do with Coal-derived Neon Gas. Not easy or cheap, but it will let you generate Neon Gas in regions without Oil. Like this one. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Byproducts are a challenging aspect of alternative production chains. While Coal Gasifiers produce Reactive from Coal what cannot be liquefied comes out as Waste. In secret Nakatani Chemicals has run a massive Neon Gas deficiency. It is lucky Saito noticed. This region, and your task, is Nakatani’s only hope of filling the deficit without panic. Export the required Neon Gas in secret. We cannot allow any competitors or other employees to realize what we are doing. | signature = Dirty Neon }} ====Afterword==== {{blockquote | text = Wonderful. The Neon Gas is on the way. I’ve hidden the shipment as yet another load of Furniture. Please keep this our little secret. | signature = {{Signature-saito-1}} }} 978ed6bb479cefed400b8160adee5d16d4d55636 File:Map Waste Not; Want More.png 6 385 1501 2024-02-09T22:27:29Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Waste Not; Want More" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Waste Not; Want More" region ca126cf160f4fc247581e9b6307c30390fc5e5a3 Waste Not; Want More 0 262 1502 1500 2024-02-09T22:30:10Z Hiroteashi 379511 /* Afterword */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Waste Not; Want More |number = 13 |prevMissions = * [[Downletting Upholsteries]] * [[Good Buys Forever]] |nextMissions = * [[Runaway Train]] * [[Aggressive Zoning]] * [[For the Greater Good]] |biome = Temperate |money = 17000 |objectives = {{!}}Dirty Neon{{!}}{{!}}Export 168 [[Neon Gas]] at quest [[Zeppelin Dock]] |partimeM = 35 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[Neon Refinery]] - Level 3 * 1x [[Incinerator]] - Level 3 * 1x Incinerator - Level 0 * 1x [[Coal Gassifier]] - Level 2 * 1x Coal Gassifier - Level 1 * 1x Coal Gassifier - Level 0 * 1x [[Coal Powerplant]] * 4x [[Coal Mine]] - Level 2 * 2x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Steam Vents ==Region Unlocks== Upon Mission Completion * [[Incinerator]] Industry * [[Coal Gassifier]] Industry ==Transcript== ====Preamble==== {{blockquote | text = Thankfully my meetings are all cancelled. They were a waste of time. The board was not respecting my experience. I’ll be blunt: Nakatani Chemicals needs us. Do not tell anyone else but they are in dire need of more Neon Gas. An alert on my terminal gave away the secret; even our neon billboards are running low. This Coal-only region is not ideal. Oil would be better. We have no choice. You must make do with Coal-derived Neon Gas. Not easy or cheap, but it will let you generate Neon Gas in regions without Oil. Like this one. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Byproducts are a challenging aspect of alternative production chains. While Coal Gasifiers produce Reactive from Coal what cannot be liquefied comes out as Waste. In secret Nakatani Chemicals has run a massive Neon Gas deficiency. It is lucky Saito noticed. This region, and your task, is Nakatani’s only hope of filling the deficit without panic. Export the required Neon Gas in secret. We cannot allow any competitors or other employees to realize what we are doing. | signature = Dirty Neon }} ====Afterword==== {{blockquote | text = Wonderful. The Neon Gas is on the way. I’ve hidden the shipment as yet another load of Furniture. Please keep this our little secret. | signature = {{Signature-saito-1}} }} ==Trivia== The Region name is an inversion of the proverb "Waste not want not" - that if a person uses their resources carefully, then they will never be in need of aid. a48a090db2662672380eee1884bdad1a186fa877 File:Map For the Greater Good.png 6 386 1503 2024-02-09T22:34:58Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "For the Greater Good" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "For the Greater Good" region 0de6f6dc8cef002ed4400ac4670d7b736e5ccf98 For the Greater Good 0 264 1504 770 2024-02-09T22:35:10Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = For the Greater Good |number = 13 Bonus B |prevMissions = [[Waste Not; Want More]] |biome = Desert |money = 17000 |objectives = {{!}}Good Enough for the Masses{{!}}{{!}}Export an average of 32 [[Appliances]] per minute at quest [[Zeppelin Dock]] |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 3x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Iron Vein * Coal Vein * Copper Vein * Silica Deposit * Water Spring * Steam Vent ==Transcript== ====Objective Text==== {{blockquote | text = Homes need Appliances. Earth has many homes and no Appliances production. Your task is to feed Earth’s never satisfied Appliances demand. If needed, consider licensing the Electronics Fab from the Voucher Exchange. | signature = Good Enough for the Masses }} d3cfe3325bf5e0ffcc0337d2f46e99d94a660fd1 File:Map Aggressive Zoning.png 6 387 1505 2024-02-09T22:36:41Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Aggressive Zoning" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Aggressive Zoning" region 284a9b14c8907c940da136343c7c7f44e4d31854 Aggressive Zoning 0 263 1506 767 2024-02-09T22:39:19Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Aggressive Zoning |number = 13 Bonus A |prevMissions = [[Waste Not; Want More]] |biome = Temperate |money = 7000 |objectives = {{!}}Itty Bitty Living Space{{!}}{{!}}Reach 352 Population in quest City |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x Electronics Fab - Level 2 * 1x Coal Powerplant - Level 2 * 4x Wire Coiler * 2x Coal Mine - Level 2 * 1x Silica Quarry - Level 1 * 3x Copper Mine * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Steam Vent ==Transcript== ====Objective Text==== {{blockquote | text = Terraformation did not go as planned in this region. The resulting size limitations mean your task to grow the city requires careful packing. To help, several industries have received upgrades. Balance your limited space between railway construction, new industries, and stations. | signature = Itty Bitty Living Space }} ==Trivia== The objective title is a quote from the Genie in the Disney animated movie "Aladdin (1992)" when referring to the cramped conditions in his lamp. a3364513f542c6ad7fa5230b9558c670cede5cde 1507 1506 2024-02-09T22:39:53Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Aggressive Zoning |number = 13 Bonus A |prevMissions = [[Waste Not; Want More]] |biome = Temperate |money = 7000 |objectives = {{!}}Itty Bitty Living Space{{!}}{{!}}Reach 352 Population in quest [[City]] |partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x [[Electronics Fab]] - Level 2 * 1x [[Coal Powerplant]] - Level 2 * 4x [[Wire Coiler]] * 2x [[Coal Mine]] - Level 2 * 1x [[Silica Quarry]] - Level 1 * 3x [[Copper Mine]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Steam Vent ==Transcript== ====Objective Text==== {{blockquote | text = Terraformation did not go as planned in this region. The resulting size limitations mean your task to grow the city requires careful packing. To help, several industries have received upgrades. Balance your limited space between railway construction, new industries, and stations. | signature = Itty Bitty Living Space }} ==Trivia== The objective title is a quote from the Genie in the Disney animated movie "Aladdin (1992)" when referring to the cramped conditions in his lamp. 4a74f34d1577e6c7cdeeab315bc1e1207486cda9 File:Map Runaway Train.png 6 388 1508 2024-02-09T22:42:01Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Runaway Train" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Runaway Train" region 697faaefe5074b26c233edd3a48d1247d84a0ae3 Runaway Train 0 265 1509 773 2024-02-09T22:44:05Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Runaway Train |number = 14 |prevMissions = [[Waste Not; Want More]] |nextMissions = [[Space Park]] |biome = Savannah |money = 7000 |objectives = {{!}}Maximal Performance Indicated{{!}}{{!}}Export 4 [[Energy]] at Quest [[Zeppelin Dock]] |partimeM = 10 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[Geothermal]] * [[Voucher Exchange]] ==Transcript== ====Preamble==== {{blockquote | text = The board started asking about “train mileage to trackage”. Their message calls it a “key performance indicator meant to show efficiently in track usage”. All other indicators are green, except this one is red! This is bad. We must greenify that red! I’ve rerouted performance monitoring to this remote region, towards this directive. My terminal says the train is stuck and not reaching the destination. Can you fix it? The track was auto generated so it might not be optimal. Remember: do not build new trains. We need to maximize the distance traveled per train. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Your task is to navigate this maze of auto generated tracks. Don’t panic if the train takes a wrong turn, that too boosts the Train Mileage indicator. Please avoid suspicion by delivering the Energy in reasonable time. | signature = Maximal Performance Indicated }} ====Afterword==== {{blockquote | text = All green! The board must be ecstatic. They should highlight these green indicators in the next quarterly report! I am so happy. Nothing could ruin my mood! | signature = {{Signature-saito-1}} }} ==Trivia== Originally this mission had the train path predictor UI disabled, forcing the player to manually predict and trace the path. This was eventually changed. fe4fecac168786499bbdcd0329974ed42829f305 File:Map Space Park.png 6 389 1510 2024-02-09T22:51:55Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Space Pard" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Space Pard" region 775eed378192374d8da7a7f926b78ebfee79e568 1517 1510 2024-02-10T15:51:43Z Hiroteashi 379511 wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Space Park" region 9a29966f9e9aeefe48c8cc6a6ce6aaeac73e1b4b Space Park 0 266 1511 780 2024-02-09T22:53:09Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Space Park |number = 15 |prevMissions = * [[Runaway Train]] |nextMissions = * [[CO2 WARNING]] * [[Extra Tooling]] |biome = Boreal |money = 29000 |objectives = {{!}}Construct Nakatani's Rollercoaster{{!}}{{!}}Deliver 100% of required building materials to the [[Rollercoaster Park]] |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Rollercoaster Park]] (Quest Structure) * 1x [[Zeppelin Dock]] * 2x [[Tool Die]] * 2x [[Plasticizer]] * 2x [[Concrete Yard]] * 3x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Silica Deposits * Water Springs * Oil Patches * Iron Veins * Coal Veins * Steam Vents ==Region Unlocks== Upon Mission Completion * [[Tool Die]] Industry ==Transcript== ====Preamble==== {{blockquote | text = I heard a nasty rumour today. Someone said Nakatani Chemicals is considering selling our colony. The rumoured buyer will take over our entire department! Nakatani is my career! I cannot imagine life without it! Even worse: You would be permanently transferred to live on the colony. Forever! We need to do something big and make Mr. Nakatani see we are a really useful colony. I heard he signed a roller coaster expansion project but the Real Estate Division cannot find a location. Let’s build that theme park! It would be a personal favour to Mr. Nakatani himself. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Construct the Roller Coaster Mega Project and save Nakatani’s contract! Mega Projects require vast volumes of resources to complete. Start by producing the simpler yet higher volume production chains like Concrete. Use the resulting cash flows to invest and develop the more complex Widgets and Steel chains. | signature = Construct Nakatani's Rollercoaster }} ====Afterword==== {{blockquote | text = Good job - Mr. Nakatani was very impressed that we solved his contract problem. He thanked you by name. He even sent premium melons! I don’t think the melons will survive the long space travel, so I’ll eat them for you. After all, it would be a shame to waste such nice fruit. Unrelated, but a literal ton of coffee was ordered under your colony’s budget. The terminal says the order never left Earth. I’m sure this order was a mistake; but, if not, please don’t order more - real coffee is expensive. Just drink synthetic coffee, it is good enough. | signature = {{Signature-saito-1}} }} e7a08b133f87c6a0b2b63cb539b566ad0d1398a4 File:Map Extra Tooling.png 6 390 1512 2024-02-09T22:54:23Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the region "Extra Tooling" wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the region "Extra Tooling" a1f75009e800e95ca1e0a963a57fe13344d551c5 File:Map Good Buys Forever.png 6 382 1513 1489 2024-02-09T22:55:07Z Hiroteashi 379511 wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the region "Good Buys Forever" fffb2d5c966667e1dcfe4faeea330b6b65746491 Extra Tooling 0 269 1514 785 2024-02-09T22:59:42Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Extra Tooling |number = 15 Bonus |prevMissions = [[Space Park]] |biome = Boreal |money = 17000 |objectives = {{!}}Widget Deliveries{{!}}{{!}}Export 512 [[Widgets]] at quest [[Zeppelin Dock]] |partimeM = 50 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[Oil Powerplant]] - Level 3 * 2x [[Furniture Assembler]] * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Widget supply is getting mismatched. Your task is to develop this region into a Widget stamping powerhouse. Use either Oil or Coal to produce your Plastics. Grow the region’s city to work your factories. | signature = Widget Deliveries }} 89010f9383a4ef01917623edc4ee7fe69505fac8 Music 0 379 1515 1484 2024-02-10T14:31:24Z Hiroteashi 379511 /* Notes */ wikitext text/x-wiki ==Music== [[File:Music.png|thumb|right|alt=Cassette Tape Image]] Railgrade has what some people may call "A Banger of a Soundtrack." These are the contributing artists and their music tracks used in game. Note that some music must be purchased at the [[Voucher Exchange]] to access them in game. This does not apply to [[Sandbox Mode]] as all songs will be on the playlist due to there not being a voucher system in that game mode. {| class="wikitable cargoTable noMerge customTable sortable" |+ Caption text |- ! class="customTableHeader"|Artist !! class="customTableHeader"|Track Title !! class="customTableHeader"|Track Length || class="customTableHeader"|Usage in game |- | [https://earmake.bandcamp.com/ EARMAKE] || Dancing Shadows || 4:48 || |- | EARMAKE || Dangerous Rendezvous || 4:22 || |- | EARMAKE || Last Hope || 4:54 || |- | EARMAKE || Cosmic Hero|| 4:25 || |- | EARMAKE || Mystery of Betelgeuse || 6:21 || |- | EARMAKE || Moonlight Breeze || 4:27 || |- | [https://soundcloud.com/neko-code Neko Dreams]|| Marshmellow Galaxy || 2:21 || |- | Neko Dreams|| Meet You in TV || 3:06 || |- | Neko Dreams|| Starfall || 2:33 || Overworld Theme |- | Neko Dreams|| Adventure || 3:16 || |- | Neko Dreams|| City Runner || 3:40 || |- | Neko Dreams|| Smoothie || 2:46 || |- | [https://savvier.bandcamp.com/ Savvier] || 4x4 || 3:47 || |- | Savvier || Arson || 4:56 || |- | Savvier || Cyborg || 3:39 || Victory Music |- | Savvier || Gas || 4:22 || |- | [https://icons8.com/music/artists/the-other-side The Other Side] || Engine || 3:06 || |- | [https://axeneon.bandcamp.com/ Le Brick] || Stabilization Procedure || 4:56 || |- | [https://www.youtube.com/@watercat6082 Watercat] || Catman || 3:48 || Main Menu Theme |- | [https://icons8.com/music/artists/dmitriy-diomores Dmitriy Diomores] || Ghost City || 4:11 || |- | [https://soundcloud.com/moroza_knozova/ Moroza Knozova] || Madness || 2:53 || |- | [https://icons8.com/music/artists/vermos Vermos] || Synthetic Mantra || 2:26 || Shop Music |- | [https://powerrun.bandcamp.com/album/summer-holidays Power Run] || Tape #039 || 0:51 || Tutorial Victory Music |- | [https://sequel-police.bandcamp.com/album/glowing-nights-deluxe-version Sequel Police] || Glowing Nights || 4:02 || |- | [https://heroinboutique.bandcamp.com/album/luminance Nightdrive] || Luminance || 7:23 || |} ==Notes== For purposes of linking the Artist: * The preferred link is to the Artist's personal Bandcamp, SoundCloud or YouTube Channel. * However if that isn't not found, their YouTube Topic takes priority. * The Icons8 link is a last resort due to its impersonal archival nature and lack of artist contact information. cd992be83227b4add7b41792451642b20a44bc1f File:Map CO2 WARNING.png 6 391 1516 2024-02-10T15:50:53Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "CO2 Warning" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "CO2 Warning" region b08980404449a52751895f8251d543c129350342 CO2 WARNING 0 267 1518 779 2024-02-10T15:52:52Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING |number = 16 |prevMissions = * [[Space Park]] |nextMissions = * [[Luxurious Vistas]] * [[CO2 WARNING REDUX]] * [[No Distance Too Far]] |biome = Boreal |money = 17000 |objectives = {{!}}URGENT CO2 WARNING!{{!}}{{!}}Export 824 [[Energy]] at quest [[Zeppelin Dock]] |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x [[Oil Powerplant]] * 1x [[Coal Powerplant]] * 3x [[Coal Mine]] * 1x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Region Unlocks== Upon Mission Completion * [[Spark|Spark Engine]] Unlock for purchase ==Transcript== ====Preamble==== {{blockquote | text = Remote monitors indicate your colony is failing to emit agreed CO2 levels. Pursuant to our Glommer Process Number 3 contract you must increase CO2 emissions. Failure to increase emissions will render the maintenance contract void. Should this happen, your colony will return to the ice planet from which it was terraformed. Please at minimum implement the included emissions plans. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Maintain the colony’s terraformation warranty by burning large quantities of Coal and Oil. Dispose of the Energy by Export. Do not worry about the Energy market balance; the environment takes priority. | signature = URGENT CO2 WARNING! }} ====Afterword==== {{blockquote | text = Jeff here again. Good job saving the planet - It’s scandalous that Saito allowed the CO2 levels to get so low. Rumours are even spreading that Saito cheated on his key performance indicators! Something must be done to stop him - if he reduces the colony’s value any more, you’ll probably get caught in the crossfire from the board. I’m sneaking you a license file for the SPARK ENGINE. I found it lost in Saito’s pile of paperwork. Check the voucher shop. | signature = {{Signature-jeff-1}} }} 4fe2e590b72d4b9c63e737fcbcd097339655d96d File:Map No Distance Too Far.png 6 392 1519 2024-02-10T15:55:39Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "No Distance Too Far" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "No Distance Too Far" region ca71c7f480b213a128bc8175e388ee2afb1d49e6 No Distance Too Far 0 270 1520 786 2024-02-10T15:56:34Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = No Distance Too Far |number = 16 Bonus B |prevMissions = [[CO2 WARNING]] |biome = Tundra |money = 7000 |objectives = {{!}}Raking the Coals{{!}}{{!}}Export 1024 [[Coal]] at the quest [[Zeppelin Dock]] |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x [[Signworks * 2x [[Incinerator * 2x [[Coal Gassifier * 1x [[Coal Powerplant * 1x [[Neon Refinery * 1x [[Glass Smelter * 6x [[Coal Mine]] * 3x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Due to adverse wind conditions, the Zeppelin Docks are far from the Coal mines. Exporting the required massive Coal volumes will require extra cashflow the low profit Coal cannot provide. Instead consider operating the more profitable Signworks chain to generate cash. | signature = Raking the Coals }} bd99d389cae7bfa1ab38a3d438d9ea9788cd0be5 1521 1520 2024-02-10T15:56:49Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = No Distance Too Far |number = 16 Bonus B |prevMissions = [[CO2 WARNING]] |biome = Tundra |money = 7000 |objectives = {{!}}Raking the Coals{{!}}{{!}}Export 1024 [[Coal]] at the quest [[Zeppelin Dock]] |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x [[Signworks]] * 2x [[Incinerator]] * 2x [[Coal Gassifier]] * 1x [[Coal Powerplant]] * 1x [[Neon Refinery]] * 1x [[Glass Smelter]] * 6x [[Coal Mine]] * 3x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Due to adverse wind conditions, the Zeppelin Docks are far from the Coal mines. Exporting the required massive Coal volumes will require extra cashflow the low profit Coal cannot provide. Instead consider operating the more profitable Signworks chain to generate cash. | signature = Raking the Coals }} 52ffcbbb340885b0ce2ef5d26373e86f7345a8e9 File:Map CO2 WARNING REDUX.png 6 393 1522 2024-02-10T15:58:16Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "CO2 WARNING REDUX" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "CO2 WARNING REDUX" region 25b1c3347b9cfe691a20df9f3db9c18ad78a26fc CO2 WARNING REDUX 0 268 1523 784 2024-02-10T15:59:01Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = CO2 WARNING REDUX |number = 16 Bonus A |prevMissions = [[CO2 WARNING]] |biome = Boreal |money = 17000 |objectives = {{!}}CO2 WARNING. Not Urgent.{{!}}{{!}}Export 1024 [[Energy]] at quest [[Zeppelin Dock]] |partimeM = 40 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * [[Coal Powerplant]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Coal Veins * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = You have reached the basic requirements for warranty validity. In the interest of reducing future warranty claims we have included an extra emissions improvement plan. This addition is not contractually required, but will increase your colony’s average temperature and overall habitability. Refusal to implement this additional will be noted and may impact future warranty claims. | signature = Glommer Colony Terraform Co. }} ====Objective Text==== {{blockquote | text = Your colony’s terraformation warranty is safe but further burning will improve the global temperature. Your task is to burn the high coal density in this region and shore up the colony’s environment. | signature = CO2 WARNING. Not Urgent. }} 96eed138d60ccd5cef94a6ad3e96f2f536ec7b9d File:Map Luxurious Vistas.png 6 394 1524 2024-02-10T16:01:09Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Luxurious Vistas" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Luxurious Vistas" region a309b4b71e1daea675062aa7b59feca566438041 Luxurious Vistas 0 271 1525 806 2024-02-10T16:02:55Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Luxurious Vistas |number = 17 |prevMissions = * [[CO2 WARNING]] |nextMissions = * [[The Interchange]] * [[Capital Renewal]] |biome = Boreal |money = 29000 |objectives = {{!}}Tilted Towers{{!}}{{!}}Deliver 32 [[Luxury Rooms]] to quest [[City]] |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 3x [[Salt Refinery]] * 2x [[Hullyard]] - Level 2 * 2x [[Luxury Assembler]] * 1x [[Oil Powerplant]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Hullyard]] Industry * Track Height Increase - [[Concrete Supports]] Upon Mission Completion * [[Luxury Assembler]] Industry * [[Rescue|Rescue Engine]] Purchase Unlock ==Transcript== ====Preamble==== {{blockquote | text = Corporate just sent over an odd order, they want a nature-centric city development. A city fit for Nakatani Employees no less. Who’s planning to live there!? I mean besides yourself of course. No matter, you cannot argue with corporate. They are requesting you start Luxury Room production pronto. You’ve even been given a license for concrete 10 height capable track supports." | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Pristine nature: the perfect location for luxury development. Corporate has requested rapid city development with accessible views of the natural spires. Their instructions put special emphasis on Luxury. Grow the City to at Level 2 so you can deliver their Luxury Rooms requirement. | signature = Tilted Towers }} f45646bbe43bd8c24db23cca1454821e54bc9e14 File:Map Capital Renewal.png 6 395 1526 2024-02-10T16:04:33Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Capital Renewal" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Capital Renewal" region bf7ed6eddd6332ee3fc7b60ec97609f8c2ed6423 Capital Renewal 0 272 1527 790 2024-02-10T16:05:51Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Capital Renewal |number = 17 Bonus |prevMissions = [[Luxurious Vistas]] |biome = Boreal |money = 47000 |objectives = {{!}}Capital Idea{{!}}{{!}}Reach 1024 Population at quest [[City]] |partimeH = 25|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[City]] (Quest Structure) * 1x [[Zeppelin Dock]] * 1x [[Water Pump]] - Level 3 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = By Earth dictated policy, all colonies must have a designated capital where workers may bring complaints or contract disputes. The existing colony capital’s location is too convenient. Too many workers are lodging disputes. Build out this new city to Level 4 so it can be marked as the capital. As a remote region, it will reduce the volume of disputes delivered. | signature = Capital Idea }} d46bdc3199290036aae8a468287e04dc2ded1f1e File:Map The Interchange.png 6 396 1528 2024-02-10T16:07:40Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "The Interchange" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "The Interchange" region 7f6c3c71d7ee6c25f5c27bcc065f9de690c7697f The Interchange 0 273 1529 793 2024-02-10T16:16:45Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = The Interchange |number = 18 |prevMissions = [[Luxurious Vistas]] |nextMissions = [[Signs of Change]] |biome = Desert |money = 50000 |objectives = {{!}}N Over Zero{{!}}{{!}}Export 256 [[Appliances]] at quest [[Zeppelin Dock]] |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[City]] * 3x [[Electronic Fab]] * 9x [[Wire Coiler]] * 3x [[Incinerator]] * 1x [[Coal Powerplant]] * 1x [[Oil Powerplant]] * 4x [[Oil Well]] * 4x [[Coal Mine]] * 4x [[Copper Mine]] * 3x [[Silica Quarry]] * 3x [[Water Pump]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] ==Transcript== ====Preamble==== {{blockquote | text = The board wants a new Key Performance Indicator: Train over track capital utilization. I am getting tired of this management by numbers. You did real meaningful work and all the board wants to hear is abstract, easy to measure metrics. They want to see minimal investment into track and maximal train buying. I’ve built you a region with tons of existing tracks. After I reset the track builder reporting you can buy trains. Get the region running and finish the completion requirements. Now is our chance to break their report generation server: divide by zero. Zero track built. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = With all possible routes prebuilt and track built count reset, you need to only build trains. Plan and operate a thriving economy while keeping the track build count at zero. | signature = N Over Zero }} ====Afterword==== {{blockquote | text = Your friend Jeff again. Just today I was going over your colony’s reports before my presentation to the board. Might you have any idea why the reports only list “Not a Number” in the number fields? I need numbers. Not numbers which are not numbers. Numbers. This is a problem. | signature = {{Signature-jeff-2}} }} ==Trivia== For all intersections, the first track switch upon entering it determines if the train is going straight or turning, and the following switch controls which direction the train will exit with the straight being a right turn, and the other option being a left turn. This should be true for both right hand and left hand drive setups. ab17d05745cd900d0eb8b3d39275667cb10a29db 1530 1529 2024-02-10T16:16:57Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = The Interchange |number = 18 |prevMissions = [[Luxurious Vistas]] |nextMissions = [[Signs of Change]] |biome = Desert |money = 50000 |objectives = {{!}}N Over Zero{{!}}{{!}}Export 256 [[Appliances]] at quest [[Zeppelin Dock]] |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[City]] * 3x [[Electronics Fab]] * 9x [[Wire Coiler]] * 3x [[Incinerator]] * 1x [[Coal Powerplant]] * 1x [[Oil Powerplant]] * 4x [[Oil Well]] * 4x [[Coal Mine]] * 4x [[Copper Mine]] * 3x [[Silica Quarry]] * 3x [[Water Pump]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] ==Transcript== ====Preamble==== {{blockquote | text = The board wants a new Key Performance Indicator: Train over track capital utilization. I am getting tired of this management by numbers. You did real meaningful work and all the board wants to hear is abstract, easy to measure metrics. They want to see minimal investment into track and maximal train buying. I’ve built you a region with tons of existing tracks. After I reset the track builder reporting you can buy trains. Get the region running and finish the completion requirements. Now is our chance to break their report generation server: divide by zero. Zero track built. | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = With all possible routes prebuilt and track built count reset, you need to only build trains. Plan and operate a thriving economy while keeping the track build count at zero. | signature = N Over Zero }} ====Afterword==== {{blockquote | text = Your friend Jeff again. Just today I was going over your colony’s reports before my presentation to the board. Might you have any idea why the reports only list “Not a Number” in the number fields? I need numbers. Not numbers which are not numbers. Numbers. This is a problem. | signature = {{Signature-jeff-2}} }} ==Trivia== For all intersections, the first track switch upon entering it determines if the train is going straight or turning, and the following switch controls which direction the train will exit with the straight being a right turn, and the other option being a left turn. This should be true for both right hand and left hand drive setups. 62764ea2a8ec6ec3443ede337e5531fc0f7ca70e File:Map Signs of Change.png 6 397 1531 2024-02-10T16:19:54Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Signs of Change" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Signs of Change" region 337782a8e7ef485dcc3fa9e2d8dc5cb75b40a76a Signs of Change 0 274 1532 797 2024-02-10T16:20:45Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Signs of Change |number = 19 |prevMissions = * [[The Interchange]] |nextMissions = * [[In Media Res]] * [[Semiconductor Valley]] * [[Rental Plan]] |biome = Savannah |money = 17000 |objectives = {{!}}Emergency Lights!{{!}}{{!}}Export 128 [[Signage]] at quest [[Zeppelin Dock]] |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[City]] * 2x [[Signworks]] - Level 3 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Silica Deposits * Oil Patches * Steam Vents ==Region Unlocks== Upon Region Entrance * [[Glass Smelter]] Industry Upon Mission Completion * [[Signworks]] Industry * [[Station Overdrive]] Upgrade for Purchase ==Transcript== ====Preamble==== {{blockquote | text = Certain people have been spreading nasty rumours of a sell off. Rest assured: If those rumours were true I would know. Nakatani needs you and your colony. Indeed, Nakatani needs 40 loads of new Neon Signage, which only your colony can deliver. There was an incident in which someone vastly over-pressured all the Nakatani signage, thinking it was running low. I didn’t get to see it, but apparently it was quite the light show. I shall not demean the soul responsible by mentioning his name. Unrelated, but Saito will no longer be caring for you. Given our previous communications, and your clearly promising skill, I volunteered to be your new line manager. I’m looking forward to a productive working relationship - together we can create huge value for Nakatani. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = Roll out the Neon Sign production! Nakatani Chemicals needs immediate help. The existing stock of Signage has been sabotaged! Without signage Nakatani will slip into obscurity. Export enough Neon Signs to replenish Nakatani’s advertising presence. | signature = Emergency Lights! }} ====Afterword==== {{blockquote | text = I think I’m being framed! They’re saying I over-pressured the signs… I promise my terminal reported that they were running low, the logs were tampered! Nothing else explains it! I would never make a mistake like this. Please be careful. Whoever did this isn’t going to stop at only framing me. | signature = {{Signature-saito-2}} }} c8aa9e61278e41c4a637eb50fc7451b19177450a File:Map Semiconductor Valley.png 6 398 1533 2024-02-10T16:23:15Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Semiconductor Valley" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Semiconductor Valley" region 1bf9c36fb1813db3c1d7c8d33e2a15bc1bc50b10 Semiconductor Valley 0 275 1534 796 2024-02-10T16:31:55Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Semiconductor Valley |number = 19 Bonus A |prevMissions = [[Signs of Change]] |biome = Savannah |money = 17000 |objectives = {{!}}CPU Processing Units{{!}}{{!}}Produce and average of 7.3 [[CPU]] per minute at quest [[CPU Fab]] |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[CPU Fab]] (Quest Structure) * 1x [[Zeppelin Dock]] * 1x [[City]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Copper Veins * Oil Patches * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Complexity means profit. Few chains are more complex than CPUs. Your task is to build out this valley into the Colony’s own silicon valley. Let Earth handle the software, you’ll build the hardware. | signature = CPU Processing Units }} ==Trivia== The Region's name is an nod to Silicon Valley, a locale known as a global center for high technology and innovation. d536d65c128c7cb47eede71e1fd9f76eb7df6ce4 File:Map Rental Plan.png 6 399 1535 2024-02-10T16:33:05Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Rental Plan" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Rental Plan" region cc2f0a7f8996e05ce39eb8c37cfc8276d2c60f80 Rental Plan 0 276 1536 798 2024-02-10T16:37:11Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Rental Plan |number = 19 Bonus B |prevMissions = [[Signs of Change]] |biome = Boreal |money = 29000 |objectives = {{!}}Luxurious Planning{{!}}{{!}}Export 128 [[Luxury Rooms]] at quest [[Zeppelin Dock]] |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[City]] - Level 1 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Iron Veins * Coal Veins * Oil Patches * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Your task is to develop this region into a stable Luxury Room assembler. The colony’s growing wealth is driving demand from the top one percent of colony workers. Export the Luxury Rooms and keep those vital workers happy. | signature = Luxurious Planning }} ==Trivia== The Rental Plan name was based the meme template "Dental Plan (Lisa needs braces)" originating from the American Cartoon show, "The Simpsons" b0c656f52e2041f922d4de09b818a47eab2651b2 File:Map In Media Res.png 6 400 1537 2024-02-10T16:39:42Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "In Media Res" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "In Media Res" region 1e8a715b6aac1b13375a935390e25eeb8ae579b0 In Media Res 0 277 1538 799 2024-02-10T16:41:41Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = In Media Res |number = 20 |prevMissions = * [[Signs of Change]] |nextMissions = * [[Server Farming]] * [[Actuation Station]] * [[Mass Media]] |biome = Boreal |money = 47000 |objectives = {{!}}The HQ you Deserve{{!}}{{!}}Deliver 100% of the materials required for the [[Regional HeadQuarters|HQ]] megaproject |partimeH = 1|partimeM = 30 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Regional HeadQuarters]] (Quest Structure) * 1x [[Zeppelin Dock]] * 2X [[City]] * 1x [[Tube Plant]] - Level 2 * 1x [[Luxury Assembler]] * 1x [[Coal Powerplant]] - Level 5 * 4x [[Coal Mine]] - Level 5 * 4x [[Wire Coiler]] * 4x [[Copper Mine]] * 1x [[Steel Mill]] * 3x [[Water Pump]] - Level 5 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Iron Veins * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Region Unlocks== Upon Region Entrance * [[CPU Fab]] Industry Upon Mission Completion * [[Tube Plant]] Industry * [[Diesel Deluxe]] Engine Unlock for Purchase ==Transcript== ====Preamble==== {{blockquote | text = I know Saito contacted you. The logs don’t note what he said, but be careful about falling for the cries of the demoted. Saito has been pushing back against my plans for a while, but I never realized he might turn so violent. Do as I say and your colony will double in value. For now; know I have your back. You need a proper HeadQuarters. You’re running an entire planet; you deserve an office befitting your position. | signature = {{Signature-jeff-2}} }} ====Objective Text==== {{blockquote | text = You’ve worked hard. Reward yourself. Construct the HeadQuarters of your heart’s desire. With the tallest tower in the colony everyone will respect you more. Like the castle towns of old, the surrounding cities must grow to feed the industry of construction. This is for everyone's benefit. | signature = The HQ you Deserve }} ====Afterword==== {{blockquote | text = Jeff is up to something, I’m sure of it. He’s the one in the meetings who suggested we make all that extra Neon Gas. Keep following Jeff’s plan. If he ever sets you up for failure, we’ll have the evidence to convince Mr. Nakatani. It might be tough, but please keep going. Everyone needs you, they just don’t know it. | signature = {{Signature-saito-2}} }} a8ef83b9e62ad3493d4bdc9358bd565d0c863106 File:Map Mass Media.png 6 401 1539 2024-02-10T16:43:20Z Hiroteashi 379511 == Summary == [[Category:Map Images]] Screenshot of the "Mass Media" region wikitext text/x-wiki == Summary == [[Category:Map Images]] Screenshot of the "Mass Media" region f48eca7c61ff11bf96c9f55a540a21b9b42642b4 Mass Media 0 278 1540 800 2024-02-10T16:44:07Z Hiroteashi 379511 wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Mass Media |number = 20 Bonus |prevMissions = [[In Media Res]] |biome = Tundra |money = 29000 |objectives = {{!}}TV plus Addition{{!}}{{!}}Export 128 [[Televisions]] at quest [[Zeppelin Dock]] |partimeH = 1 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 1x [[City]] - Level 2 * 3x [[Coal Mine]] - Level 5 * 2x [[Oil Well]] - Level 5 * 1x [[Silica Quarry]] - Level 5 * 1x [[Iron Mine]] - Level 5 * 1x [[Copper Mine]] - Level 5 * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches * Coal Veins * Copper Veins * Silica Deposits * Steam Vents ==Transcript== ====Objective Text==== {{blockquote | text = Advertising is an excellent source of high margin profit. Yet few workers in the colony own a TV. Your task is to export TVs from this region to the entire colony. Turn every living room into an Ad viewing parlor. | signature = TV plus Addition }} 7cdaf03f27f603f2e96872ab803effeac6eeed2e Template:StructureInfoBox 10 344 1541 1351 2024-02-16T04:21:22Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY}} |- | class="customTableData"|Tile Dimensions|| {{{length}}} x {{{width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData"{{!}}MegaProject Freight<br/>Requirements {{!}}{{!}} {{{requirements}}}}} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br />}} <nowiki>The code {{lc:{{#replace:{{{1}}}| |-}}}} is a combination of two MediaWiki parser functions: #replace function: This function is used to replace occurrences of a specified substring with another substring. In this case, it replaces spaces (| |-) with an empty string (""). The syntax is {{#replace:string|search|replace}}. lc function: This function is used to convert a string to lowercase. The syntax is {{lc:string}}.</nowiki> <pre>{{StructureInfoBox |name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br /> }}</pre> <nowiki>So, when you put it all together, {{lc:{{#replace:{{{1}}}| |-}}}} performs the following steps: Takes the value of the parameter {{{1}}}. Replaces spaces with an empty string. Converts the resulting string to lowercase. This is often used for creating CSS class names based on the value of a parameter ({{{1}}} in this case) with spaces replaced by nothing and everything converted to lowercase. It's a common pattern for creating consistent class names in web development.</nowiki>[[category:templates]]</noinclude> 61eb5dffe5f19e30083559f23fe470bf195d4eaf 1544 1541 2024-02-16T04:28:54Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY}} |- | class="customTableData"|Tile Dimensions|| {{{length}}} x {{{width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData"{{!}}MegaProject Freight<br/>Requirements {{!}}{{!}} {{{requirements}}}}} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br />}} <pre>{{StructureInfoBox |name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br /> }}</pre> [[category:templates]]</noinclude> d067d51a5b2226fedb5d34fdabf21d19ab1ca368 Template:EngineInfoBox 10 402 1542 2024-02-16T04:25:13Z Hiroteashi 379511 Created page with "<includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY}} |- | class="customTableData"|Tile Dimensions|| {{{length}}} x {{{width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData"{{!}}Mega..." wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Structure]] |- ! colspan="2" class="customTableHeader"|{{{name}}} {{#if:{{{cost|}}}| {{!}}- {{!}} class="customTableData"{{!}}Cost (¥) {{!}}{{!}} {{{cost}}} JPY}} |- | class="customTableData"|Tile Dimensions|| {{{length}}} x {{{width}}} {{#if:{{{requirements|}}}| {{!}}- {{!}} class="customTableData"{{!}}MegaProject Freight<br/>Requirements {{!}}{{!}} {{{requirements}}}}} |}</div></includeonly><noinclude> [[category:templates]] {{StructureInfoBox|name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br />}} <nowiki>The code {{lc:{{#replace:{{{1}}}| |-}}}} is a combination of two MediaWiki parser functions: #replace function: This function is used to replace occurrences of a specified substring with another substring. In this case, it replaces spaces (| |-) with an empty string (""). The syntax is {{#replace:string|search|replace}}. lc function: This function is used to convert a string to lowercase. The syntax is {{lc:string}}.</nowiki> <pre>{{EngineInfoBox |name=City|cost=65,536|length=1|width=1 |requirements= 512x {{item|concrete}}<br /> 256x {{item|glass}}<br /> 128x {{item|CPU}}<br /> }}</pre> <nowiki>So, when you put it all together, {{lc:{{#replace:{{{1}}}| |-}}}} performs the following steps: Takes the value of the parameter {{{1}}}. Replaces spaces with an empty string. Converts the resulting string to lowercase. This is often used for creating CSS class names based on the value of a parameter ({{{1}}} in this case) with spaces replaced by nothing and everything converted to lowercase. It's a common pattern for creating consistent class names in web development.</nowiki></noinclude> bf593abdefcf8617667b228282fa5e0030e36bc0 1545 1542 2024-02-16T04:49:24Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- ! colspan="2" class="customTableHeader"|{{{name}}} Engine |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Engine]] |- ! colspan="2" class="customTableHeader"|Stats & Performance |- | class="customTableData"| Cost (JPY) || {{{cost|0}}} ¥ |- | class="customTableData"| Upkeep (¥/60s)|| {{{Upkeep|0}}} ¥ |- | class="customTableData"| Top Speed (KM/H)|| {{{Speed|0}}} |- | class="customTableData"| Acceleration (KM/H/S)|| {{{Accel|0}}} |- | class="customTableData"| Climb Rating || {{{climb|0}}}% |- | class="customTableData"| Weight (ton) || {{{weight|16}}} |- | class="customTableData"| Rated Weight (ton) || {{{ratedWeight|16}}} |}</div></includeonly><noinclude> [[category:templates]] {{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66 |description=Extremely low upkeep costs as well as low upfront investment. Not recommended for hills or fast deliveries.}} <pre>{{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66 |description=Extremely low upkeep costs as well as low upfront investment. Not recommended for hills or fast deliveries.}}</pre> </noinclude> 44baaef9da02388aefb444881cff05414eb937f7 1546 1545 2024-02-16T04:49:40Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- ! colspan="2" class="customTableHeader"|{{{name}}} Engine |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Engine]] |- ! colspan="2" class="customTableHeader"|Stats & Performance |- | class="customTableData"| Cost (JPY) || {{{cost|0}}} ¥ |- | class="customTableData"| Upkeep (¥/60s)|| {{{Upkeep|0}}} ¥ |- | class="customTableData"| Top Speed (KM/H)|| {{{Speed|0}}} |- | class="customTableData"| Acceleration (KM/H/S)|| {{{Accel|0}}} |- | class="customTableData"| Climb Rating || {{{climb|0}}}% |- | class="customTableData"| Weight (ton) || {{{weight|16}}} |- | class="customTableData"| Rated Weight (ton) || {{{ratedWeight|16}}} |}</div></includeonly><noinclude> [[category:templates]] {{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66}} <pre>{{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66}}</pre> </noinclude> 7f00b284e61a43dffbb37f94d45a5a61c6c1e50a 1547 1546 2024-02-16T04:54:21Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- ! colspan="2" class="customTableHeader"|{{{name}}} Engine |- | class="customTableData"| Notable Quality || {{{hint|None}}} |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Engine]] |- ! colspan="2" class="customTableHeader"|Stats & Performance |- | class="customTableData"| Cost (JPY) || {{{cost|0}}} ¥ |- | class="customTableData"| Upkeep (¥/60s)|| {{{Upkeep|0}}} ¥ |- | class="customTableData"| Top Speed (KM/H)|| {{{Speed|0}}} |- | class="customTableData"| Acceleration (KM/H/S)|| {{{Accel|0}}} |- | class="customTableData"| Climb Rating || {{{climb|0}}}% |- | class="customTableData"| Weight (ton) || {{{weight|16}}} |- | class="customTableData"| Rated Weight (ton) || {{{ratedWeight|16}}} |}</div></includeonly><noinclude> [[category:templates]] {{EngineInfoBox|name=Boiler|hint=Cheap Price|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66}} <pre>{{EngineInfoBox|name=Boiler|hint=Cheap Price|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66}}</pre> </noinclude> 4f6855539c3eda82e41213256f248ee643ce7324 Research Center 0 354 1543 1395 2024-02-16T04:26:29Z Hiroteashi 379511 wikitext text/x-wiki ==Infomation== [[category:Structures]] {{StructureInfoBox|name=Research Center|cost=16384|length=2|width=3}} The Research Center is a structure only available in [[Sandbox Mode|Sandbox]] and is what allows the player to advance in technology. In order to conduct research, a technology needs to selected and there must be at least one Research Center with the necessary freight in its stockpile. Multiple well stocked Research Stations will work in parallel to increase the speed of researching. Any Center that is missing a required resource will not contribute to research. All Research Centers can be upgraded like an Industry to increase its research speed, but it cannot be catalyzed for any additional speed. It has a stockpile capacity of 32 units for each of the 4 classes of material it requests. Note that Freight delivered to the Research Center does not generate any money. {| class="wikitable customTable" |+ Research Center Freight Input |- ! class="customTableHeader"|Category!! class="customTableHeader"colspan="3"|Freight |- | class="customTableData"|Base Power || {{Item|Energy}}|||| |- | class="customTableData"|Refined Materials|| {{Item|Reactives}} || {{Item|Concrete}} || {{item|Widgets}} |- | class="customTableData"|High-Tech Components || {{Item|CPU}} || {{Item|Motor}}|| |- | class="customTableData"|Propulsion Materials || {{Item|Rockets}} || {{Item|Hulls}} || {{item|Retrograde}} a02a89958a21069b74ae7f13ea053cbe5bc1095e Boiler 0 403 1548 2024-02-16T05:05:32Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66|Hint=Cheap Price}} ==Boiler Engine== ===In-game Description=== Extremely low upkeep costs as well as low upfront investment. Not recommended for hills or fast deliveries. ===Strategy=== The starter train that is unlocked by default upon starting the game. The Boiler does not have much going for it other than the fact that it is cheap to purchase and al..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66|Hint=Cheap Price}} ==Boiler Engine== ===In-game Description=== Extremely low upkeep costs as well as low upfront investment. Not recommended for hills or fast deliveries. ===Strategy=== The starter train that is unlocked by default upon starting the game. The Boiler does not have much going for it other than the fact that it is cheap to purchase and also has very low upkeep (4 yen/minute). It is best to begin most missions by using this engine exclusively and eventually phasing it out for a stronger train later once revenue becomes less of an issue. In spite of its low power and speed, the Boiler can pull around 5 cars worth of freight before the weight significantly affects its top speed. If the player intends on using this train, they should make sure that the track is mostly flat as the Boiler's poor climb rating will make it lose even more of its already pitiful speed. If the Engine has to traverse any hills, make sure that each increase in elevation is separated with enough distance for the train to only have to deal with one grade change at a time to minimize the speed penalty. 1a914cf94caf08c2ef013fda20cf1ea670c02a94 1549 1548 2024-02-16T05:06:01Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66|Hint=Cheap Price}} ==Boiler Engine== ===In-game Description=== Extremely low upkeep costs as well as low upfront investment. Not recommended for hills or fast deliveries. ===Strategy=== The starter train that is unlocked by default upon starting the game. The Boiler does not have much going for it other than the fact that it is cheap to purchase and also has very low upkeep (4 yen/minute). It is best to begin most missions by using this engine exclusively and eventually phasing it out for a stronger train later once revenue becomes less of an issue. In spite of its low power and speed, the Boiler can pull around 5 cars worth of freight before the weight significantly affects its top speed. If the player intends on using this train, they should make sure that the track is mostly flat as the Boiler's poor climb rating will make it lose even more of its already pitiful speed. If the Engine has to traverse any hills, make sure that each increase in elevation is separated with enough distance for the train to only have to deal with one grade change at a time to minimize the speed penalty. 34f518f310bf25dce33a3a1eede6c7036cff8958 Workhorse 0 404 1550 2024-02-16T05:14:53Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=Workhorse|cost=512|upkeep=8|speed=50|accel=3.7|climb=50|weight=16|ratedWeight=57|Hint=Balanced Speed}} ==Workhorse Engine== ===In-game Description=== Higher speeds at medium freight length. Never fastest but a safe pick for busy administrators. ===Strategy=== The Workhorse is unlocked upon the completion of [[Oil Overflow]], relatively early in the campaign and is the main competitor of the [[Boiler]] when it comes to early game..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Workhorse|cost=512|upkeep=8|speed=50|accel=3.7|climb=50|weight=16|ratedWeight=57|Hint=Balanced Speed}} ==Workhorse Engine== ===In-game Description=== Higher speeds at medium freight length. Never fastest but a safe pick for busy administrators. ===Strategy=== The Workhorse is unlocked upon the completion of [[Oil Overflow]], relatively early in the campaign and is the main competitor of the [[Boiler]] when it comes to early game choice. The Workhorse does not boast any outstanding qualities. It simply is a bog standard engine that has reasonable stats without anything outstanding in particular. If the player does not wish to spend too much time min-maxing their engine preferences, then the Workhorse will typically do the job well enough. However at double the cost of the Boiler in price and upkeep, it might be a little bit on the expensive side for a starting mogul. It can pull around 4 cars of freight before its top speed stat is affected significantly. aacc67acfde897e1abb32da652249104e7a62ea8 Category:Engines 14 405 1551 2024-02-16T05:15:46Z Hiroteashi 379511 Redirected page to [[Trains]] wikitext text/x-wiki #REDIRECT [[Trains]] e451f63d09a923d9a5ff31ca13f6a9ccf598099f Category:Engines 14 405 1552 1551 2024-02-16T05:16:05Z Hiroteashi 379511 Changed redirect target from [[Trains]] to [[Category:Trains]] wikitext text/x-wiki #REDIRECT [[Category:Trains]] e6915f0434ee1d666f20abd0fd7b3e7821d277c4 CUSTOM 0 406 1553 2024-02-16T05:42:05Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=CUSTOM|cost=512|upkeep=8|speed=75|accel=4.7|climb=75|weight=16|ratedWeight=36|Hint=Tuned Power}} ==C.U.S.T.O.M Engine== ===In-game Description=== Optimized to enhance climbing and speed. Excessive tuning limits weight capacity. ===Strategy=== The C.U.S.T.O.M Engine becomes accessible after [[Oil Overflow]]. Unlike its sibling the [[Workhorse]], the player must purchase the license at the [[Voucher Exchange]] before getting the o..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=CUSTOM|cost=512|upkeep=8|speed=75|accel=4.7|climb=75|weight=16|ratedWeight=36|Hint=Tuned Power}} ==C.U.S.T.O.M Engine== ===In-game Description=== Optimized to enhance climbing and speed. Excessive tuning limits weight capacity. ===Strategy=== The C.U.S.T.O.M Engine becomes accessible after [[Oil Overflow]]. Unlike its sibling the [[Workhorse]], the player must purchase the license at the [[Voucher Exchange]] before getting the option to use it. The C.U.S.T.O.M Engine shares the same logistics profile as the Workhorse, with the exact same purchase price and upkeep as they share the same chassis. What is different between them is mostly under the hood. The CUSTOM's supercharged powerplant gives it an incredible top speed for such an early game Engine along with a relatively high climb rating. The price for that performance is its rated weight, only capable of pulling 1.5 cars weight before suffering a steep top speed penalty. The balance of stats puts the Engine in a rather unique position. Alone, the C.U.S.T.O.M is great for carrying low volume freight such as catalysts long distances with very little concern for elevation changes. When paired with another engine, its exceptionally good stats can often cover for any of the weaknesses of its partner making the entire train greater than the sum of its parts while keeping overall costs low. e110e373feaef2af90ac7a12e8ec7f19131d73f4 1554 1553 2024-02-16T05:42:26Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=CUSTOM|cost=512|upkeep=8|speed=75|accel=4.7|climb=75|weight=16|ratedWeight=36|hint=Tuned Power}} ==C.U.S.T.O.M Engine== ===In-game Description=== Optimized to enhance climbing and speed. Excessive tuning limits weight capacity. ===Strategy=== The C.U.S.T.O.M Engine becomes accessible after [[Oil Overflow]]. Unlike its sibling the [[Workhorse]], the player must purchase the license at the [[Voucher Exchange]] before getting the option to use it. The C.U.S.T.O.M Engine shares the same logistics profile as the Workhorse, with the exact same purchase price and upkeep as they share the same chassis. What is different between them is mostly under the hood. The CUSTOM's supercharged powerplant gives it an incredible top speed for such an early game Engine along with a relatively high climb rating. The price for that performance is its rated weight, only capable of pulling 1.5 cars weight before suffering a steep top speed penalty. The balance of stats puts the Engine in a rather unique position. Alone, the C.U.S.T.O.M is great for carrying low volume freight such as catalysts long distances with very little concern for elevation changes. When paired with another engine, its exceptionally good stats can often cover for any of the weaknesses of its partner making the entire train greater than the sum of its parts while keeping overall costs low. b04563da2d4b3457632411fb0c8cf6237d5eed68 1578 1554 2024-02-16T08:01:06Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=CUSTOM|cost=512|upkeep=8|speed=75|accel=4.7|climb=75|weight=16|ratedWeight=36|hint=Tuned Power}} ==C.U.S.T.O.M Engine== ===In-game Description=== Optimized to enhance climbing and speed. Excessive tuning limits weight capacity. ===Strategy=== The C.U.S.T.O.M Engine becomes accessible after [[Oil Overflow]]. Unlike its sibling the [[Workhorse]], the player must purchase the license at the [[Voucher Exchange]] before getting the option to use it. The C.U.S.T.O.M Engine shares the same logistics profile as the Workhorse, with the exact same purchase price and upkeep as they share the same chassis. What is different between them is mostly under the hood. The CUSTOM's supercharged powerplant gives it an incredible top speed for such an early game Engine along with a relatively high climb rating. The price for that performance is its rated weight, only capable of pulling 1.5 cars weight before suffering a steep top speed penalty. The balance of stats puts the Engine in a rather unique position. Alone, the C.U.S.T.O.M is great for carrying low volume freight such as catalysts long distances with very little concern for elevation changes. When paired with another engine, its exceptionally good stats can often cover for any of the weaknesses of its partner making the entire train greater than the sum of its parts while keeping overall costs low. 088412189279e7c122a02b74e9e7e28ae1f1535d Workhorse 0 404 1555 1550 2024-02-16T05:42:46Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Workhorse|cost=512|upkeep=8|speed=50|accel=3.7|climb=50|weight=16|ratedWeight=57|hint=Balanced Speed}} ==Workhorse Engine== ===In-game Description=== Higher speeds at medium freight length. Never fastest but a safe pick for busy administrators. ===Strategy=== The Workhorse is unlocked upon the completion of [[Oil Overflow]], relatively early in the campaign and is the main competitor of the [[Boiler]] when it comes to early game choice. The Workhorse does not boast any outstanding qualities. It simply is a bog standard engine that has reasonable stats without anything outstanding in particular. If the player does not wish to spend too much time min-maxing their engine preferences, then the Workhorse will typically do the job well enough. However at double the cost of the Boiler in price and upkeep, it might be a little bit on the expensive side for a starting mogul. It can pull around 4 cars of freight before its top speed stat is affected significantly. 05277fb941d43f9e6166eb4b7f4f267c718da48f 1577 1555 2024-02-16T08:00:59Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=Workhorse|cost=512|upkeep=8|speed=50|accel=3.7|climb=50|weight=16|ratedWeight=57|hint=Balanced Speed}} ==Workhorse Engine== ===In-game Description=== Higher speeds at medium freight length. Never fastest but a safe pick for busy administrators. ===Strategy=== The Workhorse is unlocked upon the completion of [[Oil Overflow]], relatively early in the campaign and is the main competitor of the [[Boiler]] when it comes to early game choice. The Workhorse does not boast any outstanding qualities. It simply is a bog standard engine that has reasonable stats without anything outstanding in particular. If the player does not wish to spend too much time min-maxing their engine preferences, then the Workhorse will typically do the job well enough. However at double the cost of the Boiler in price and upkeep, it might be a little bit on the expensive side for a starting mogul. It can pull around 4 cars of freight before its top speed stat is affected significantly. 713eea15777fc6cb9f42b3f3c6f4983f581ee8f5 Boiler 0 403 1556 1549 2024-02-16T05:43:02Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66|hint=Cheap Price}} ==Boiler Engine== ===In-game Description=== Extremely low upkeep costs as well as low upfront investment. Not recommended for hills or fast deliveries. ===Strategy=== The starter train that is unlocked by default upon starting the game. The Boiler does not have much going for it other than the fact that it is cheap to purchase and also has very low upkeep (4 yen/minute). It is best to begin most missions by using this engine exclusively and eventually phasing it out for a stronger train later once revenue becomes less of an issue. In spite of its low power and speed, the Boiler can pull around 5 cars worth of freight before the weight significantly affects its top speed. If the player intends on using this train, they should make sure that the track is mostly flat as the Boiler's poor climb rating will make it lose even more of its already pitiful speed. If the Engine has to traverse any hills, make sure that each increase in elevation is separated with enough distance for the train to only have to deal with one grade change at a time to minimize the speed penalty. 25cb5d74aa7a23c30220782c717a721cb85e68df 1576 1556 2024-02-16T08:00:53Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=Boiler|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66|hint=Cheap Price}} ==Boiler Engine== ===In-game Description=== Extremely low upkeep costs as well as low upfront investment. Not recommended for hills or fast deliveries. ===Strategy=== The starter train that is unlocked by default upon starting the game. The Boiler does not have much going for it other than the fact that it is cheap to purchase and also has very low upkeep (4 yen/minute). It is best to begin most missions by using this engine exclusively and eventually phasing it out for a stronger train later once revenue becomes less of an issue. In spite of its low power and speed, the Boiler can pull around 5 cars worth of freight before the weight significantly affects its top speed. If the player intends on using this train, they should make sure that the track is mostly flat as the Boiler's poor climb rating will make it lose even more of its already pitiful speed. If the Engine has to traverse any hills, make sure that each increase in elevation is separated with enough distance for the train to only have to deal with one grade change at a time to minimize the speed penalty. 86e6d741664cba496c186d385274304e688a4c6d Kettle 0 407 1557 2024-02-16T05:56:31Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=Kettle|cost=512|upkeep=4|speed=33|accel=3.7|climb=95|weight=16|ratedWeight=48|hint=Budget Climber}} ==Kettle Engine== ===In-game Description=== Large steam boiler tuned for high torque. A budget way to improve hill climbing, but has limited weight capacity by itself. ===Strategy=== The Kettle Engine is unlocked very late into the campaign in an optional mission, [[Dusty with a Chance of Rain]]. By then, it is mostly overshadowed..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Kettle|cost=512|upkeep=4|speed=33|accel=3.7|climb=95|weight=16|ratedWeight=48|hint=Budget Climber}} ==Kettle Engine== ===In-game Description=== Large steam boiler tuned for high torque. A budget way to improve hill climbing, but has limited weight capacity by itself. ===Strategy=== The Kettle Engine is unlocked very late into the campaign in an optional mission, [[Dusty with a Chance of Rain]]. By then, it is mostly overshadowed by the other higher tech trains the player should already have in their possession. In spite of this, the Kettle Engine has some qualities that are situationally useful. With the same upkeep as the [[Boiler]] (4 yen/minute), it is a good Engine to start a mission with if the player has to bypass hills and terrain obstacles. Pairing the Kettle with a Boiler Engine also creates a very cheap train with stats comparable to an [[Industrial]]. By itself, the Kettle can only pull 3 cars of freight before facing top speed penalties. fa94cf3dced97be699c67cc8be9f1c0417d31ab1 1579 1557 2024-02-16T08:01:19Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=Kettle|cost=512|upkeep=4|speed=33|accel=3.7|climb=95|weight=16|ratedWeight=48|hint=Budget Climber}} ==Kettle Engine== ===In-game Description=== Large steam boiler tuned for high torque. A budget way to improve hill climbing, but has limited weight capacity by itself. ===Strategy=== The Kettle Engine is unlocked very late into the campaign in an optional mission, [[Dusty with a Chance of Rain]]. By then, it is mostly overshadowed by the other higher tech trains the player should already have in their possession. In spite of this, the Kettle Engine has some qualities that are situationally useful. With the same upkeep as the [[Boiler]] (4 yen/minute), it is a good Engine to start a mission with if the player has to bypass hills and terrain obstacles. Pairing the Kettle with a Boiler Engine also creates a very cheap train with stats comparable to an [[Industrial]]. By itself, the Kettle can only pull 3 cars of freight before facing top speed penalties. f5a78ceea5119bbc9fb2a9cc32f50ab6b759ec53 Template:EngineInfoBox 10 402 1558 1547 2024-02-16T05:57:27Z Hiroteashi 379511 wikitext text/x-wiki <includeonly><div class="infobox floatright"> {| class="wikitable customTable infobox" |- ! colspan="2" class="customTableHeader"|{{{name}}} Engine |- | class="customTableData"| Notable Quality || {{{hint|None}}} |- | colspan="2"|[[File:{{{name}}}.png|frameless|alt=Icon of the {{{name}}} Engine]] |- ! colspan="2" class="customTableHeader"|Stats & Performance |- | class="customTableData"| Cost (JPY) || {{{cost|0}}} ¥ |- | class="customTableData"| Upkeep (¥/60s)|| {{{upkeep|0}}} ¥ |- | class="customTableData"| Top Speed (KM/H)|| {{{speed|0}}} |- | class="customTableData"| Acceleration (KM/H/S)|| {{{accel|0}}} |- | class="customTableData"| Climb Rating || {{{climb|0}}}% |- | class="customTableData"| Weight (ton) || {{{weight|16}}} |- | class="customTableData"| Rated Weight (ton) || {{{ratedWeight|16}}} |}</div></includeonly><noinclude> [[category:templates]] {{EngineInfoBox|name=Boiler|hint=Cheap Price|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66}} <pre>{{EngineInfoBox|name=Boiler|hint=Cheap Price|cost=256|upkeep=4|speed=33|accel=2.7|climb=40|weight=16|ratedWeight=66}}</pre> </noinclude> 256d58f02dce57e4a357b952f74095cdacda5848 Industrial 0 408 1559 2024-02-16T06:12:52Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=Industrial|cost=1024|upkeep=16|speed=30|accel=4|climb=95|weight=16|ratedWeight=96|hint=Hill Climber}} ==Industrial Engine== ===In-game Description=== High torque for carrying large loads up steep inclines. Multistage transmission produces a slow but steady speed. ===Strategy=== The Industrial is the player's initial hill climber engine, first unlocked in [[Uphill Both Ways]]. The Industrial can basically ignore hills and also pu..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Industrial|cost=1024|upkeep=16|speed=30|accel=4|climb=95|weight=16|ratedWeight=96|hint=Hill Climber}} ==Industrial Engine== ===In-game Description=== High torque for carrying large loads up steep inclines. Multistage transmission produces a slow but steady speed. ===Strategy=== The Industrial is the player's initial hill climber engine, first unlocked in [[Uphill Both Ways]]. The Industrial can basically ignore hills and also pull an impressive 8 cars without any speed penalties. While it moves at a plodding 30 KM/H (even slower than the [[Boiler]]), the ability to ignore the majority of climbing penalties makes up for it. Its acceleration of 4 Km/h/s also allows the engine to recover from any slow-downs quickly. 65e182fcc9a487bb67b53453d4cb6f84903f205c 1565 1559 2024-02-16T07:33:08Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Industrial|cost=1024|upkeep=16|speed=30|accel=4|climb=95|weight=16|ratedWeight=96|hint=Hill Climber}} ==Industrial Engine== ===In-game Description=== High torque for carrying large loads up steep inclines. Multistage transmission produces a slow but steady speed. ===Strategy=== The Industrial is the player's initial hill climber engine, first unlocked in [[Uphill Both Ways]]. The Industrial can basically ignore hills and also pull an impressive 8 cars without any speed penalties. While it moves at a plodding 30 KM/H (even slower than the [[Boiler]]), the ability to ignore the majority of climbing penalties makes up for it. Its acceleration of 4 Km/h/s also allows the engine to recover from any slow-downs quickly. ===Trivia=== The Secret [[Golden Engine]] is just the untextured model of the Industrial with a different material. 6368a0d53e97bef2e46ff5b7c3ff2b6c54de32df 1566 1565 2024-02-16T07:33:17Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Industrial|cost=1024|upkeep=16|speed=30|accel=4|climb=95|weight=16|ratedWeight=96|hint=Hill Climber}} ==Industrial Engine== ===In-game Description=== High torque for carrying large loads up steep inclines. Multistage transmission produces a slow but steady speed. ===Strategy=== The Industrial is the player's initial hill climber engine, first unlocked in [[Uphill Both Ways]]. The Industrial can basically ignore hills and also pull an impressive 8 cars without any speed penalties. While it moves at a plodding 30 KM/H (even slower than the [[Boiler]]), the ability to ignore the majority of climbing penalties makes up for it. Its acceleration of 4 Km/h/s also allows the engine to recover from any slow-downs quickly. ===Trivia=== The secret [[Golden Engine]] is just the untextured model of the Industrial with a different material. 5ccbb1362de57b2ca1733ac399b2098993cc6ad2 1571 1566 2024-02-16T07:55:30Z Hiroteashi 379511 /* Trivia */ wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Industrial|cost=1024|upkeep=16|speed=30|accel=4|climb=95|weight=16|ratedWeight=96|hint=Hill Climber}} ==Industrial Engine== ===In-game Description=== High torque for carrying large loads up steep inclines. Multistage transmission produces a slow but steady speed. ===Strategy=== The Industrial is the player's initial hill climber engine, first unlocked in [[Uphill Both Ways]]. The Industrial can basically ignore hills and also pull an impressive 8 cars without any speed penalties. While it moves at a plodding 30 KM/H (even slower than the [[Boiler]]), the ability to ignore the majority of climbing penalties makes up for it. Its acceleration of 4 Km/h/s also allows the engine to recover from any slow-downs quickly. ===Trivia=== The secret [[GOLD|GOLD Engine]] is just the untextured model of the Industrial with a different material. f073a5904b21dac5e222929696cdd557d39d0e15 1580 1571 2024-02-16T08:01:27Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=Industrial|cost=1024|upkeep=16|speed=30|accel=4|climb=95|weight=16|ratedWeight=96|hint=Hill Climber}} ==Industrial Engine== ===In-game Description=== High torque for carrying large loads up steep inclines. Multistage transmission produces a slow but steady speed. ===Strategy=== The Industrial is the player's initial hill climber engine, first unlocked in [[Uphill Both Ways]]. The Industrial can basically ignore hills and also pull an impressive 8 cars without any speed penalties. While it moves at a plodding 30 KM/H (even slower than the [[Boiler]]), the ability to ignore the majority of climbing penalties makes up for it. Its acceleration of 4 Km/h/s also allows the engine to recover from any slow-downs quickly. ===Trivia=== The secret [[GOLD|GOLD Engine]] is just the untextured model of the Industrial with a different material. 723e5968d143ad25644ab4031a6d465d36a6969e Diesel Deluxe 0 409 1560 2024-02-16T06:24:40Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=Diesel Deluxe|cost=1024|upkeep=8|speed=50|accel=5|climb=50|weight=16|ratedWeight=96|hint=Double Speed}} ==Industrial Engine== ===In-game Description=== High speeds for a reasonable initial investment. No other Engine can boast such competitive capital efficiency. ===Strategy=== The cheapest of the high tier Engines. The most notable thing about it is its low upkeep at (8 yen/min). When examined further, the Diesel Deluxe can be..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Diesel Deluxe|cost=1024|upkeep=8|speed=50|accel=5|climb=50|weight=16|ratedWeight=96|hint=Double Speed}} ==Industrial Engine== ===In-game Description=== High speeds for a reasonable initial investment. No other Engine can boast such competitive capital efficiency. ===Strategy=== The cheapest of the high tier Engines. The most notable thing about it is its low upkeep at (8 yen/min). When examined further, the Diesel Deluxe can be summarized as two [[Workhorse]] Engines merged into one entity. It does boast a better acceleration stat than the Workhorse making it slightly better at exiting stations and recovering from slow-downs. The rated weight of 96 tons allows the Diesel Deluxe to pull 8 cars of freight without any significant top speed penalties. 463d341bd14bb597be9b0fcd8af5d9f5e1e08170 1561 1560 2024-02-16T06:25:59Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Diesel Deluxe|cost=1024|upkeep=8|speed=50|accel=5|climb=50|weight=16|ratedWeight=96|hint=Double Speed}} ==Diesel Deluxe Engine== ===In-game Description=== High speeds for a reasonable initial investment. No other Engine can boast such competitive capital efficiency. ===Strategy=== The cheapest of the high tier Engines. The most notable thing about it is its low upkeep at (8 yen/min). When examined further, the Diesel Deluxe can be summarized as two [[Workhorse]] Engines merged into one entity. It does boast a better acceleration stat than the Workhorse making it slightly better at exiting stations and recovering from slow-downs. The rated weight of 96 tons allows the Diesel Deluxe to pull 8 cars of freight without any significant top speed penalties. 937ff3808e1ae3aafb718f769a48c00a075efd4d 1581 1561 2024-02-16T08:01:34Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=Diesel Deluxe|cost=1024|upkeep=8|speed=50|accel=5|climb=50|weight=16|ratedWeight=96|hint=Double Speed}} ==Diesel Deluxe Engine== ===In-game Description=== High speeds for a reasonable initial investment. No other Engine can boast such competitive capital efficiency. ===Strategy=== The cheapest of the high tier Engines. The most notable thing about it is its low upkeep at (8 yen/min). When examined further, the Diesel Deluxe can be summarized as two [[Workhorse]] Engines merged into one entity. It does boast a better acceleration stat than the Workhorse making it slightly better at exiting stations and recovering from slow-downs. The rated weight of 96 tons allows the Diesel Deluxe to pull 8 cars of freight without any significant top speed penalties. c036b3463477ce85760561cdfb872e4fd098554e Spark 0 410 1562 2024-02-16T06:33:24Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=Spark|cost=2048|upkeep=32|speed=75|accel=6.3|climb=50|weight=16|ratedWeight=96|hint=High Speed}} ==Spark Engine== ===In-game Description=== Electrification provides high top speeds at the expense of significant upkeep. ===Strategy=== The Spark is a very strong engine boasting a stat-line similar to the [[CUSTOM]] Engine. Its reasonable climb rating combined with its high acceleration allows it to be used effectively on most kind..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Spark|cost=2048|upkeep=32|speed=75|accel=6.3|climb=50|weight=16|ratedWeight=96|hint=High Speed}} ==Spark Engine== ===In-game Description=== Electrification provides high top speeds at the expense of significant upkeep. ===Strategy=== The Spark is a very strong engine boasting a stat-line similar to the [[CUSTOM]] Engine. Its reasonable climb rating combined with its high acceleration allows it to be used effectively on most kinds of track layouts and the ability to pull up to 8 cars of freight offers a good amount of flexibility. The only reason a player might not want to use the Spark is because of its high upkeep costs and initial purchase cost. 2a61eb0fada7d8bbdd8557588d778a84576a3a23 1582 1562 2024-02-16T08:01:41Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=Spark|cost=2048|upkeep=32|speed=75|accel=6.3|climb=50|weight=16|ratedWeight=96|hint=High Speed}} ==Spark Engine== ===In-game Description=== Electrification provides high top speeds at the expense of significant upkeep. ===Strategy=== The Spark is a very strong engine boasting a stat-line similar to the [[CUSTOM]] Engine. Its reasonable climb rating combined with its high acceleration allows it to be used effectively on most kinds of track layouts and the ability to pull up to 8 cars of freight offers a good amount of flexibility. The only reason a player might not want to use the Spark is because of its high upkeep costs and initial purchase cost. ca8e4e5f0255b1ef9b0368796850ecec14cff8c2 Rescue 0 411 1563 2024-02-16T07:18:22Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=Rescue|cost=2048|upkeep=32|speed=27|accel=5|climb=100|weight=16|ratedWeight=144|hint=High Power Climber}} ==Rescue Engine== ===In-game Description=== Low gearing produces extreme torque and pulling power for effortless mountain climbing. Its gearing prevents high speeds. ===Strategy=== The RESCUE was originally envisioned as an engine for use in the artic regions of the planet where its high torque would allow it to ignore any ex..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Rescue|cost=2048|upkeep=32|speed=27|accel=5|climb=100|weight=16|ratedWeight=144|hint=High Power Climber}} ==Rescue Engine== ===In-game Description=== Low gearing produces extreme torque and pulling power for effortless mountain climbing. Its gearing prevents high speeds. ===Strategy=== The RESCUE was originally envisioned as an engine for use in the artic regions of the planet where its high torque would allow it to ignore any extreme weather conditions, allowing it to get to any location to deliver supplies. The RESCUE is the physical manifestation of "Slow and Steady wins the Race." It is the slowest Engine on the entire roster, but with a 100% climb rating it can ignore all hill effect in addition to its ability to pull a massive 12 cars of freight. The RESCUE occupies the same niche as the [[Industrial]] Engine with both sharing the same upkeep (16 yen/minute). If the route requires more than 8 freight of capacity per train, then using a RESCUE would probably be the better choice compared to using two Industrials; as after 30 minutes the total upkeep of both Industrials will overtake the 1024 extra yen spent on a single RESCUE. faef52b21bc3db9d5c7fd19ffa499426dd2656cf 1583 1563 2024-02-16T08:01:47Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=Rescue|cost=2048|upkeep=32|speed=27|accel=5|climb=100|weight=16|ratedWeight=144|hint=High Power Climber}} ==Rescue Engine== ===In-game Description=== Low gearing produces extreme torque and pulling power for effortless mountain climbing. Its gearing prevents high speeds. ===Strategy=== The RESCUE was originally envisioned as an engine for use in the artic regions of the planet where its high torque would allow it to ignore any extreme weather conditions, allowing it to get to any location to deliver supplies. The RESCUE is the physical manifestation of "Slow and Steady wins the Race." It is the slowest Engine on the entire roster, but with a 100% climb rating it can ignore all hill effect in addition to its ability to pull a massive 12 cars of freight. The RESCUE occupies the same niche as the [[Industrial]] Engine with both sharing the same upkeep (16 yen/minute). If the route requires more than 8 freight of capacity per train, then using a RESCUE would probably be the better choice compared to using two Industrials; as after 30 minutes the total upkeep of both Industrials will overtake the 1024 extra yen spent on a single RESCUE. 090006182db28304395e0104fe5fb460c6c5b983 Bullet 0 412 1564 2024-02-16T07:31:16Z Hiroteashi 379511 Created page with "[[category:engines]] {{EngineInfoBox|name=Bullet|cost=4096|upkeep=64|speed=120|accel=7.7|climb=40|weight=16|ratedWeight=117|hint=Ultra Speed}} ==NewBullet Engine== ===In-game Description=== Ultimate in top speed with high acceleration on flat terrain. Not recommended for hills. ===Strategy=== Where the [[Boiler]] was cheap and slow, the NewBullet Engine is expensive and fast. The NewBullet is a train of extremes with the highest base price, upkeep, speed and acceleratio..." wikitext text/x-wiki [[category:engines]] {{EngineInfoBox|name=Bullet|cost=4096|upkeep=64|speed=120|accel=7.7|climb=40|weight=16|ratedWeight=117|hint=Ultra Speed}} ==NewBullet Engine== ===In-game Description=== Ultimate in top speed with high acceleration on flat terrain. Not recommended for hills. ===Strategy=== Where the [[Boiler]] was cheap and slow, the NewBullet Engine is expensive and fast. The NewBullet is a train of extremes with the highest base price, upkeep, speed and acceleration in the game. Because of this, the Engine tends to only see use in the later parts of a region when the revenue stops becoming a hinderance. The low climb rating appears more prohibitive than it is in actuality. Unlike other low climb trains, the NewBullet has enough statistics in other categories to make up for that deficiency. Provided that the NewBullet starts on flat terrain or is facing downhill, it can accelerate to its top speed and use that energy to push itself through a few inclines without much penalty. What does limit its use is its extremely pricey nature - a [[Spark]] Engine would often be sufficient for the task. c9ebbfc45dd13d8607099eeaacbd54e5a688df10 1584 1564 2024-02-16T08:01:53Z Hiroteashi 379511 wikitext text/x-wiki [[category:engines]][[category:trains]] {{EngineInfoBox|name=Bullet|cost=4096|upkeep=64|speed=120|accel=7.7|climb=40|weight=16|ratedWeight=117|hint=Ultra Speed}} ==NewBullet Engine== ===In-game Description=== Ultimate in top speed with high acceleration on flat terrain. Not recommended for hills. ===Strategy=== Where the [[Boiler]] was cheap and slow, the NewBullet Engine is expensive and fast. The NewBullet is a train of extremes with the highest base price, upkeep, speed and acceleration in the game. Because of this, the Engine tends to only see use in the later parts of a region when the revenue stops becoming a hinderance. The low climb rating appears more prohibitive than it is in actuality. Unlike other low climb trains, the NewBullet has enough statistics in other categories to make up for that deficiency. Provided that the NewBullet starts on flat terrain or is facing downhill, it can accelerate to its top speed and use that energy to push itself through a few inclines without much penalty. What does limit its use is its extremely pricey nature - a [[Spark]] Engine would often be sufficient for the task. 699e585b87d0a7786727ec50f453383ade4e3fa6 GOLD 0 413 1567 2024-02-16T07:49:08Z Hiroteashi 379511 Created page with "{{EngineInfoBox|name=Gold|cost=4096|upkeep=0|speed=40|accel=4|climb=200|weight=16|ratedWeight=96|hint=Rare}} ==GOLD Engine== ===In-game Description=== Rumoured to be a gift commissioned for a corrupt executive. A trophy engine. ===Strategy=== the GOLD is secret Engine that can be found in the South-Western sea in the campaign overworld once [[Last Job]] has been cleared. This Engine is unique due to the fact that it as no upkeep cost but most interestingly, it has over..." wikitext text/x-wiki {{EngineInfoBox|name=Gold|cost=4096|upkeep=0|speed=40|accel=4|climb=200|weight=16|ratedWeight=96|hint=Rare}} ==GOLD Engine== ===In-game Description=== Rumoured to be a gift commissioned for a corrupt executive. A trophy engine. ===Strategy=== the GOLD is secret Engine that can be found in the South-Western sea in the campaign overworld once [[Last Job]] has been cleared. This Engine is unique due to the fact that it as no upkeep cost but most interestingly, it has over 200% climb rating. Although having a climb rating over 100% does not provide any benefits, because a train's climb rating is based on the average climb rating of all its engines, integrating a GOLD engine into the train can ensure that a train will never drop below 100%. ===Trivia=== Implied to be one of Jeff's fraudulent purchases before he was eventually found out. b37beb627aff5f42168dc8ef52f3182e815f3365 1570 1567 2024-02-16T07:54:50Z Hiroteashi 379511 Hiroteashi moved page [[Golden Engine]] to [[GOLD Engine]] without leaving a redirect: wrong name wikitext text/x-wiki {{EngineInfoBox|name=Gold|cost=4096|upkeep=0|speed=40|accel=4|climb=200|weight=16|ratedWeight=96|hint=Rare}} ==GOLD Engine== ===In-game Description=== Rumoured to be a gift commissioned for a corrupt executive. A trophy engine. ===Strategy=== the GOLD is secret Engine that can be found in the South-Western sea in the campaign overworld once [[Last Job]] has been cleared. This Engine is unique due to the fact that it as no upkeep cost but most interestingly, it has over 200% climb rating. Although having a climb rating over 100% does not provide any benefits, because a train's climb rating is based on the average climb rating of all its engines, integrating a GOLD engine into the train can ensure that a train will never drop below 100%. ===Trivia=== Implied to be one of Jeff's fraudulent purchases before he was eventually found out. b37beb627aff5f42168dc8ef52f3182e815f3365 1572 1570 2024-02-16T07:56:19Z Hiroteashi 379511 Hiroteashi moved page [[GOLD Engine]] to [[GOLD]] without leaving a redirect wikitext text/x-wiki {{EngineInfoBox|name=Gold|cost=4096|upkeep=0|speed=40|accel=4|climb=200|weight=16|ratedWeight=96|hint=Rare}} ==GOLD Engine== ===In-game Description=== Rumoured to be a gift commissioned for a corrupt executive. A trophy engine. ===Strategy=== the GOLD is secret Engine that can be found in the South-Western sea in the campaign overworld once [[Last Job]] has been cleared. This Engine is unique due to the fact that it as no upkeep cost but most interestingly, it has over 200% climb rating. Although having a climb rating over 100% does not provide any benefits, because a train's climb rating is based on the average climb rating of all its engines, integrating a GOLD engine into the train can ensure that a train will never drop below 100%. ===Trivia=== Implied to be one of Jeff's fraudulent purchases before he was eventually found out. b37beb627aff5f42168dc8ef52f3182e815f3365 1573 1572 2024-02-16T07:57:38Z Hiroteashi 379511 wikitext text/x-wiki {{EngineInfoBox|name=GOLD|cost=4096|upkeep=0|speed=40|accel=4|climb=200|weight=16|ratedWeight=96|hint=Rare}} ==GOLD Engine== ===In-game Description=== Rumoured to be a gift commissioned for a corrupt executive. A trophy engine. ===Strategy=== the GOLD is secret Engine that can be found in the South-Western sea in the campaign overworld once [[Last Job]] has been cleared. This Engine is unique due to the fact that it as no upkeep cost but most interestingly, it has over 200% climb rating. Although having a climb rating over 100% does not provide any benefits, because a train's climb rating is based on the average climb rating of all its engines, integrating a GOLD engine into the train can ensure that a train will never drop below 100%. ===Trivia=== Implied to be one of Jeff's fraudulent purchases before he was eventually found out. 3a582e453fb4840b91e94a238dfdfc2711245c97 1574 1573 2024-02-16T07:59:02Z Hiroteashi 379511 wikitext text/x-wiki {{EngineInfoBox|name=GOLD|cost=4096|upkeep=0|speed=40|accel=4|climb=200|weight=16|ratedWeight=96|hint=Rare}} ==GOLD Engine== ===In-game Description=== Rumoured to be a gift commissioned for a corrupt executive. A trophy engine. ===Strategy=== the GOLD is secret Engine that can be found in the South-Western sea in the campaign overworld once [[Last Job]] has been cleared. This Engine is unique due to the fact that it as no upkeep cost but most interestingly, it has over 200% climb rating. Although having a climb rating over 100% does not provide any benefits; because a train's climb rating is based on the average climb rating of all its engines, integrating a GOLD engine into the train can ensure that a train will never drop below 100%. ===Trivia=== * Implied to be one of Jeff's fraudulent purchases before he was eventually found out. * It's just the [[Industrial]] Engine model with no texture and a different material. 5e40142a589177cae107b4cfcbba6972dfcf10aa File:Map A Lighter Form of Oil.png 6 381 1568 1486 2024-02-16T07:53:15Z Hiroteashi 379511 wikitext text/x-wiki == Summary == Screenshot of the "a Lighter Form of Oil" region [[category:Map Images]] 899f7192a7ee6e8255463f14a88a20d7ff6d6d34 File:GOLD.png 6 414 1569 2024-02-16T07:54:19Z Hiroteashi 379511 Secret Gold Engine [[category:Train Segment Icon]] wikitext text/x-wiki == Summary == Secret Gold Engine [[category:Train Segment Icon]] b301eb5393c665a3c7528cef52ec379c0cfd5f31 Voucher Exchange 0 73 1575 1475 2024-02-16T08:00:05Z Hiroteashi 379511 wikitext text/x-wiki ==Information== {{StructureInfoBox|name=Voucher Exchange|length=2|width=2}} [[Category:Structures]] The Voucher Exchange is a campaign only structure that comes pre-placed on the map. This is the location where the player spends their Vouchers gained from earning ranks in the [[:category:missions|story campaign]]. While the shop selection is limited at the start of the campaign, more purchases will unlock in pace with the player's progression through the campaign's main story-line. Every purchase at the Voucher Exchange is permanent and the unlocked licenses will carry over from region to region. The Voucher Exchange offers licenses for the utilization of: [[:category:Trains]], [[category:structures|Industries]], Industry upgrades, [[Music]], and a few other miscellaneous upgrades for the player. {| class="wikitable cargoTable noMerge customTable" |+ Purchasable with Vouchers |- ! colspan="3" class="customTableHeader"|Train Engines |- | {{ItemLarge|Spark}} || {{ItemLarge|Rescue}} || {{ItemLarge|Diesel Deluxe}} |- | {{ItemLarge|CUSTOM}} || {{ItemLarge|Bullet}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Industry |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Electronics Fab}} || {{ItemLarge|The Mechanist}} |- | {{ItemLarge|Geothermal}} || {{ItemLarge|City}} || &nbsp; |- ! colspan="3" class="customTableHeader"|Station Upgrades |- | {{ItemLarge|Station Tile|Station Overdrive++}} ||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Music Tracks |- |{{ItemLarge|Music|Tape #039}}||{{ItemLarge|Music|Ghost City}}||{{ItemLarge|Music|Arson}} |- |{{ItemLarge|Music|4x4}}||{{ItemLarge|Music|Stabilization Procedure}}||{{ItemLarge|Music|Luminance}} |- |{{ItemLarge|Music|Glowing Nights}}||{{ItemLarge|Music|Catman}}||{{ItemLarge|Music|Starfall}} |- |{{ItemLarge|Music|Met You in TV}}||{{ItemLarge|Music|Marshmellow Galaxy}}||{{ItemLarge|Music|Dangerous Rendezvous}} |- |{{ItemLarge|Music|Dancing Shadows}}||&nbsp;||&nbsp; |- ! colspan="3" class="customTableHeader"|Industry Upgrade Licenses |- | {{ItemLarge|Oil Powerplant}} || {{ItemLarge|Neon Refinery}} || {{ItemLarge|Concrete Yard}} |- | {{ItemLarge|Furniture Assembler}} || {{ItemLarge|Motor Assembly}} || {{ItemLarge|Appliance Plant}} |- | {{ItemLarge|Coal Gassifier}} || {{ItemLarge|Oil Refinery}} || {{ItemLarge|Hullyard}} |- | {{ItemLarge|Hardmold}} || {{ItemLarge|The Mechanist}} || {{ItemLarge|Framer}} |- | {{ItemLarge|Grey Assembly}} || {{ItemLarge|Glass Smelter}} || {{ItemLarge|Tool Die}} |- | {{ItemLarge|Luxury Assembler}} || {{ItemLarge|WorkRocket Platform}} || {{ItemLarge|SpaceLiner Platform}} |- | {{ItemLarge|Compute Platform}} || {{ItemLarge|Incinerator}} || {{ItemLarge|Armory}} |- | {{ItemLarge|Plasticizer}} || {{ItemLarge|Coal Powerplant}} || {{ItemLarge|Booster Plant}} |- | {{ItemLarge|Electronics Fab}} || {{ItemLarge|Steel Mill}} || {{ItemLarge|Wire Coiler}} |- | {{ItemLarge|CPU Fab}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Heavyworks}} || {{ItemLarge|Geothermal}} || {{ItemLarge|Solva}} |- | {{ItemLarge|Paperclip Stamper}} || {{ItemLarge|Signworks}} || {{ItemLarge|Tube Plant}} |- | {{ItemLarge|Rocket Factory}} || {{ItemLarge|Salt Refinery}} || &nbsp; |} a6ed4f98371bcb773e8aad19df9458b51e5cb9d2 Category:Trains 14 8 1585 1426 2024-02-16T08:15:15Z Hiroteashi 379511 wikitext text/x-wiki == Train Engines == Trains Engines are the lifeblood of your [[:category:structures|industrial network]]. They are the only method for hauling around [[:category:freight|Freight]] across various types of terrain to feed industries on the map and generate you revenue. Not all Engines are the same, and Each train engine has some tasks it may be abysmal at and others where it excels. Multiple train engine types can be strung together to cover for each other's weaknesses! == Stat Definitions == * '''Cost:''' How much a train engine costs to purchase * '''Upkeep:''' How much money a train engine drains on a minute to minute basis from your net worth * '''Top Speed:''' How fast a train engine can move without freight after reaching acceleration. Engines will never travel at their indicated top speed unless they are going downhill due to the weight of the freight cars it is attached to * '''Acceleration:''' How fast a train can change its speed on flat terrain, includes breaking as well. This is most relevant when trains are leaving and entering station tiles. * '''Climb Rating:''' A percentage value indicating the power factor kept when going up on sloped tiles. A train with a high percentage climb rating will have its top speed and acceleration impacted less when going uphill. * '''Weight:''' How much an engine weighs. * '''Rated Weight:''' How much total weight a train engine can handle before its top speed is significantly impacted by the mass of its freight. Each freight car has a standard weight of 16 tons when loaded. * '''Turnaround Time:''' The amount of time, in seconds, it takes for an entire train to reverse direction. Trains below 4 length have the minimum turnaround time of 0.5 seconds. Any additional length added a train after this point will increase the time according to a quadratic function. == List of Train Engines == {| class="wikitable sortable cargoTable noMerge customTable" |+ Train Engines |- ! class="customTableHeader"|Name !! class="customTableHeader"|Cost (¥) !! class="customTableHeader"|Upkeep (¥/s) !! class="customTableHeader"|Top Speed (km/h) !! class="customTableHeader"|Acceleration (km/h/s) || class="customTableHeader"|Climb Rating || class="customTableHeader"|Weight (tons) || class="customTableHeader"|Rated Weight (tons) || class="customTableHeader"|Unlock Requirement |- | {{item|Boiler}} || 256 || 4|| 33 || 2.7 || 40% || 16 || 66 || Unlocked by Default |- | {{item|Workhorse}} || 512 || 8|| 50 || 3.7 || 50% || 16 || 57 || Clear [[Oil Overflow]] |- | {{item|CUSTOM}} || 512 || 8 || 75 || 4.7 || 75% || 16 || 36 || Enter [[Oil Overflow]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Kettle}} || 512 || 4 || 33 || 3.7 || 95% || 16 || 48 || Enter [[Dusty with a Chance of Rain]] |- | {{item|Industrial}} || 1024 || 16 || 30 || 4.0 || 95% || 16 || 96 || Enter [[Uphill Both Ways]] |- | {{item|Diesel&nbsp;Deluxe}} || 1024 || 8 || 50 || 5.0 || 50% || 16 || 96 || Enter [[In Media Res]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Spark}} || 2048 || 32 || 75 || 6.3 || 60% || 16 || 96 || Enter [[CO2 WARNING]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Rescue}} || 2048 || 16 || 27 || 5.0 || 100% || 16 || 144 || Clear [[Luxurious Vistas]] and [[Voucher Exchange|Voucher Purchase]] |- | {{item|Bullet}} || 4096 || 64 || 120|| 7.7 || 40% || 16 || 117 || Clear [[Heavy Arms]] or [[Spacefleet Spares]] and [[Voucher Exchange|Voucher Purchase]] |} 2f6cba5ca57039568477044d64327f26d342d22f Tips and Tricks 0 355 1586 1411 2024-02-16T08:22:29Z Hiroteashi 379511 wikitext text/x-wiki == Track Layout == * It may be tempting to only make loops of [[track]] in Railgrade, but this can get expensive really quickly. Sometimes 2-way single-line track with one train is all that is needed to keep up with an industry's needs and can be upgraded to a 1-way 2-line later when the need calls for it. * Other train games tend to encourage making the track system interconnected, with a main line and arterials draining from it. Railgrade on the other hand encourages keeping train lines separate, using verticality to bypass other tracks. Keeping lines separate can allow for faster problem solving and prevents the "Switch all trains" action from interfering with trains outside of the loop. *Alternating track switches are useful for splitting lines predictably. If there is room, one can have a single line deliver to 3 separate industries in equal amounts with one switch. Other fancy things can be done like having a 1:2 split by having 2 of the 3 lines merge. Just make sure that the merge occurs much further down the line because trains will look ahead and take a different branch then expected if it sees another train up the line. * Try to use the fact that unloaded trains are lighter. A weak train may still be able to climb hills when it isn't weighed down by freight, so try and design the track so that any uphill traversal is done when the train is empty. == Station Usage == * Stations have a significant upkeep price (6¥ per minute). It is best to not utilize the max 6 tile station length at the start until a healthy revenue stream exists. * A station's length determines how many actions a train can take every "turn." For example, a 6 tile station will take 2 "turns" to service a train with 8 freight cars. One can be more efficient with their money by downgrading the station's length to 4 for the same effect. * Placing a station actually increases the length of the track-end caps. This becomes very useful for fitting longer trains into compact shuttle style set-ups * Trains will always load at a station once when they arrive. If a player wants to keep a train from being pushed out early, they should try dividing that one station into multiple segments. <br/ > ::For example, a train with 8 freight cars arrives at an industry with another train close behind it and the industry has two stations of 4 length in series. The front train will stop at the first station and load 4 freight, but will then get pushed out by the train behind it. It will then move to the next station in line and load 4 more freight, resulting in a full train leaving the industry. ==Cities== *[[City|Cities]] can take freight as a catalyst. This might not seem useful since a City's growth cycle is already relatively fast. But because the Catalyst is always the City's requirements for growth in its next level, having catalyst being delivered already ensures that the player has the necessary infrastructure in place for growing the city and giving it an initial growth spurt from the freight already there. * It might seem like a waste to create freight that is only used in the City: such as Salt, Concrete, Appliances, Signage and TVs. But these items are typically simple to make and efficient with the amount of materials needed. Sometimes the Industry involved is also much cheaper than the other industries of its tier while maintaining the same freight sell value - so keep an eye out for them! ==Waste== * [[Waste]] can be very useful but also headache inducing. Sometimes an industry produces so much that even sending it all to the mines cannot consume it all. One strategy is to have an Incinerator right next to the Waste producing industry. That way if a train delivering Waste to the mines comes back with some waste, it will drop it off at the incinerator before picking up more waste from the producing industry. ==Bank== * Make sure to use the deposit function in the [[Bank]] frequently. While the interest earned from the Bank is rather pitiful, the money can help offset any upkeep costs and keep your profit looking healthier. And because the player's profits look healthy, the Bank will be willing to let them borrow larger amounts than if they didn't engage in such a strategy. 2f7b6a8ab6e19aabf65fda57cc36b98c96b16a97 Module:Industry/Data 828 303 1587 1409 2024-02-16T19:19:54Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {3,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas"}, inputCounts = {1,1}, outputs = {"Signage"}, outputCounts = {2} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 9, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {}, outputCounts = {} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p 19f0a9d14a82d89ad9f8e735e6c139b26dd09fc4 1588 1587 2024-02-16T19:28:44Z Hiroteashi 379511 Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {2,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {3,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {2,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {2}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas"}, inputCounts = {1,1}, outputs = {"Signage"}, outputCounts = {1} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets"}, inputCounts = {1,2,2}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 9, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {}, outputCounts = {} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p 2784c001b7401af5514d6e528e5146c2175afa0d 1598 1588 2024-04-28T19:59:03Z Erinacio 470945 Update according to in-game data. Scribunto text/plain local p = {} local industry = {} industry["Water Pump"] = { cost = 1024, catalyst = "Energy", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Water"}, outputCounts = {1} } industry["Oil Well"] = { cost = 1024, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Crude Oil"}, outputCounts = {1} } industry["Geothermal"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Energy"}, outputCounts = {1} } industry["Coal Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Coal"}, outputCounts = {1} } industry["Copper Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Copper"}, outputCounts = {1} } industry["Iron Mine"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Iron"}, outputCounts = {2} } industry["Silica Quarry"] = { cost = 1024, catalyst = "Waste", recipeTime = 16, workers = 0, inputs = {}, inputCounts = {}, outputs = {"Silica"}, outputCounts = {2} } industry["Coal Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Powerplant"] = { cost = 2048, catalyst = "Water", recipeTime = 8, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Energy"}, outputCounts = {1} } industry["Oil Refinery"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Reactives"}, outputCounts = {1} } industry["Steel Mill"] = { cost = 4096, catalyst = "Energy", recipeTime = 8, workers = 8, inputs = {"Coal", "Iron"}, inputCounts = {2,2}, outputs = {"Steel"}, outputCounts = {2} } industry["Salt Refinery"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 2, inputs = {"Silica"}, inputCounts = {2}, outputs = {"Salt"}, outputCounts = {1} } industry["Plasticizer"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Crude Oil"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Hardmold"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Coal"}, inputCounts = {2}, outputs = {"Plastic"}, outputCounts = {1} } industry["Solva"] = { cost = 2048, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Crude Oil","Silica","Water"}, inputCounts = {1,2,1}, outputs = {"Solvent","Waste"}, outputCounts = {6,1} } industry["Wire Coiler"] = { cost = 1024, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Copper"}, inputCounts = {1}, outputs = {"Wire"}, outputCounts = {2} } industry["Concrete Yard"] = { cost = 2048, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Silica","Water"}, inputCounts = {2,1}, outputs = {"Concrete"}, outputCounts = {1} } industry["Appliance Plant"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,1}, outputs = {"Appliances"}, outputCounts = {1} } industry["Incinerator"] = { cost = 2048, catalyst = "Solvent", recipeTime = 32, workers = 1, inputs = {"Waste"}, inputCounts = {2}, outputs = {}, outputCounts = {} } industry["Tool Die"] = { cost = 2048, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Widgets"}, outputCounts = {1} } industry["Glass Smelter"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Energy"}, inputCounts = {2,1}, outputs = {"Glass"}, outputCounts = {1} } industry["Coal Gassifier"] = { cost = 2048, catalyst = "Water", recipeTime = 16, workers = 2, inputs = {"Coal","Energy"}, inputCounts = {1,1}, outputs = {"Reactives","Waste"}, outputCounts = {1,1} } industry["Electronics Fab"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Silica","Wire","Energy"}, inputCounts = {1,2,1}, outputs = {"Appliances","Waste"}, outputCounts = {3,1} } industry["Hullyard"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Steel","Plastic"}, inputCounts = {4,2}, outputs = {"Hulls"}, outputCounts = {2} } industry["Neon Refinery"] = { cost = 4096, catalyst = "Water", recipeTime = 16, workers = 4, inputs = {"Reactives"}, inputCounts = {2}, outputs = {"Neon Gas"}, outputCounts = {1} } industry["Booster Plant"] = { cost = 4096, catalyst = "Neon Gas", recipeTime = 32, workers = 4, inputs = {"Iron","Reactives"}, inputCounts = {3,1}, outputs = {"Retrograde","Waste"}, outputCounts = {1,1} } industry["Furniture Assembler"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 2, inputs = {"Plastic"}, inputCounts = {1}, outputs = {"Furniture"}, outputCounts = {1} } industry["Motor Assembly"] = { cost = 4096, catalyst = "Energy", recipeTime = 32, workers = 4, inputs = {"Steel","Wire"}, inputCounts = {1,4}, outputs = {"Motor"}, outputCounts = {2} } industry["Paperclip Stamper"] = { cost = 4096, catalyst = "Heavy Tools", recipeTime = 16, workers = 2, inputs = {"Steel"}, inputCounts = {1}, outputs = {"PaperClips"}, outputCounts = {4} } industry["Rocket Factory"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"Widgets","Steel"}, inputCounts = {5,2}, outputs = {"Rockets"}, outputCounts = {2} } industry["CPU Fab"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 16, workers = 4, inputs = {"Silica","Neon Gas", "Wire"}, inputCounts = {3,1,2}, outputs = {"CPU","Waste"}, outputCounts = {1,1} } industry["Signworks"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 32, workers = 4, inputs = {"Glass","Neon Gas"}, inputCounts = {1,1}, outputs = {"Signage"}, outputCounts = {1} } industry["Luxury Assembler"] = { cost = 8192, catalyst = "Heavy Tools", recipeTime = 16, workers = 4, inputs = {"Hulls","Furniture","Steel"}, inputCounts = {1,2,1}, outputs = {"Luxury Rooms","Waste"}, outputCounts = {1,2} } industry["Heavyworks"] = { cost = 4096, catalyst = "Energy", recipeTime = 16, workers = 4, inputs = {"Steel","Widgets","Motor"}, inputCounts = {1,1,1}, outputs = {"Heavy Tools"}, outputCounts = {1} } industry["Tube Plant"] = { cost = 4096, catalyst = "RobotArm", recipeTime = 64, workers = 2, inputs = {"Glass","CPU","Wire"}, inputCounts = {1,1,2}, outputs = {"Televisions"}, outputCounts = {2} } industry["Framer"] = { cost = 16384, catalyst = "RobotArm", recipeTime = 32, workers = 4, inputs = {"CPU","Widgets","Wire"}, inputCounts = {2,3,3}, outputs = {"Mainframes"}, outputCounts = {2} } industry["Grey Assembly"] = { cost = 8192, catalyst = "RobotArm", recipeTime = 64, workers = 4, inputs = {"CPU","Reactives", "Solvent"}, inputCounts = {2,4,8}, outputs = {"Assembra","Waste"}, outputCounts = {2,4} } industry["Armory"] = { cost = 16384, catalyst = "Heavy Tools", recipeTime = 64, workers = 4, inputs = {"CPU","Motor","Widgets","Steel"}, inputCounts = {1,1,2,1}, outputs = {"RobotArm"}, outputCounts = {2} } industry["WorkRocket Platform"] = { cost = 8192, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Motor"}, inputCounts = {8,8,6,24}, outputs = {}, outputCounts = {} } industry["SpaceLiner Platform"] = { cost = 16384, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Luxury Rooms","Televisions"}, inputCounts = {8,16,8,8}, outputs = {}, outputCounts = {} } industry["Compute Platform"] = { cost = 32768, catalyst = "Assembra", recipeTime = 64, workers = 8, inputs = {"Rockets","Retrograde","Hulls","Mainframes"}, inputCounts = {8,4,4,8}, outputs = {}, outputCounts = {} } industry["The Mechanist"] = { cost = 4096, catalyst = "Assembra", recipeTime = 128, workers = 1, inputs = {"RobotArm"}, inputCounts = {4}, outputs = {}, outputCounts = {} } industry["Reclamation Engine"] = { cost = "Ø", catalyst = "Assembra", recipeTime = 32, workers = "Ø", inputs = {"Solvent","Energy"}, inputCounts = {6,2}, outputs = {"Coal","Iron","Copper"}, outputCounts = {8,4,2} } industry["Atmospheric Seeder"] = { cost = "Ø", catalyst = "Solvent", recipeTime = 9, workers = "Ø", inputs = {"Steam Tank","Assembra"}, inputCounts = {6,1}, outputs = {}, outputCounts = {} } industry["Steam Boiler"] = { cost = "Ø", catalyst = "Heavy Tools", recipeTime = 32, workers = "Ø", inputs = {"Water","Energy"}, inputCounts = {2,1}, outputs = {"Steam Tank"}, outputCounts = {8} } p.industry = industry return p 50d8e770d48e0345324b5b263804f192f4125278 Template:Item 10 62 1589 993 2024-02-16T20:10:33Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;{{#if:{{{1|}}}|[[{{{1}}}|{{{1}}}]]|{{{2}}}}}</includeonly><noinclude> ===Example Output=== [[Category:Templates]] {{Item|Plastic}} <pre>{{Item|Plastic}}</pre> <hr /> {{Item|Plastic|Other Text}} <pre>{{Item|Plastic|Other Text}}</pre> </noinclude> a32603bc1042cd3b6406f6c000c979f8b83eda66 1590 1589 2024-02-16T20:13:46Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;{{#if:{{{1|}}}|[[{{{1}}}{{!}}{{{1}}}]]|{{{2}}}}}</includeonly><noinclude> ===Example Output=== [[Category:Templates]] {{Item|Plastic}} <pre>{{Item|Plastic}}</pre> <hr /> {{Item|Plastic|Other Text}} <pre>{{Item|Plastic|Other Text}}</pre> </noinclude> c6898b413ba7e11744f6267bf45bbb69acce96d6 1591 1590 2024-02-16T20:21:33Z Hiroteashi 379511 wikitext text/x-wiki <includeonly>[[File:{{{1}}}.png|48px|link={{{link|{{{1}}}}}}|alt={{{1}}}]]&nbsp;{{ #if:{{{2|}}} |{{{2}}} |[[{{{1}}}]] }}</includeonly><noinclude> ===Example Output=== [[Category:Templates]] {{Item|Plastic}} <pre>{{Item|Plastic}}</pre> <hr /> {{Item|Plastic|Other Text}} <pre>{{Item|Plastic|Other Text}}</pre> </noinclude> e023a37431339a56ff84e1f7c13930171bfe316a Category:Freight 14 10 1592 1224 2024-02-16T20:21:56Z Hiroteashi 379511 wikitext text/x-wiki == Freight == Freight are the valuable commodities that are loaded onto the player's trains and sold at [[:category:structures#industries|Industries]] for revenue. Freight can only be loaded onto an empty {{item|flatbed|flatbed}} of its originally chosen freight type. Flatbeds weight 1 ton unloaded and 16 tons when loaded for train weight calculations. {| class="wikitable cargoTable noMerge sortable customTable" |+ Freight |- ! class="customTableHeader"|Name !! class="customTableHeader"|Sell Value (¥) |- | {{Item|Solvent}} || 16 |- | {{Item|Water}} || 32 |- | {{Item|Crude Oil}} || 32 |- | {{Item|Coal}} || 32 |- | {{Item|Silica}} || 32 |- | {{Item|Iron}} || 32 |- | {{Item|Copper}} || 32 |- | {{Item|Wire}} || 32 |- | {{Item|Waste}} || -32 |- | {{Item|PaperClips}} || 32 |- | {{Item|Plastic}} || 64 |- | {{Item|Widgets}} || 64 |- | {{Item|Neon Gas}} || 64 |- | {{Item|Concrete}} || 64 |- | {{Item|Reactives}} || 64 |- | {{Item|Energy}} || 64 |- | {{Item|Furniture}} || 64 |- | {{Item|Steel}} || 64 |- | {{Item|Salt}} || 64 |- | {{Item|Glass}} || 64 |- | {{Item|Motor}} || 64 |- | {{Item|Appliances}} || 128 |- | {{Item|Rockets}} || 128 |- | {{Item|Signage}} || 256 |- | {{Item|CPU}} || 256 |- | {{Item|Heavy Tools}} || 256 |- | {{Item|Retrograde}} || 256 |- | {{Item|Assembra}} || 256 |- | {{Item|Hulls}} || 256 |- | {{Item|Luxury Rooms}} || 256 |- | {{Item|Televisions}} || 512 |- | {{Item|Mainframes}} || 512 |- | {{Item|RobotArm}} || 512 |- | {{Item|Steam Tank}} || 0 |} c30985f87dfbab4daa33b828b8eb970068a23fd7 1593 1592 2024-02-16T20:24:59Z Hiroteashi 379511 wikitext text/x-wiki == Freight == Freight are the valuable commodities that are loaded onto the player's trains and sold at [[:category:structures#industries|Industries]] for revenue. Freight can only be loaded onto an empty {{item|flatbed|flatbed}} of its originally chosen freight type. Freight does not cost anything to load onto a train unless it's from an [[Import Dock]]. Flatbeds weight 1 ton unloaded and 16 tons when loaded for [[:category:trains|train]] weight calculations. {| class="wikitable cargoTable noMerge sortable customTable" |+ Freight |- ! class="customTableHeader"|Name !! class="customTableHeader"|Sell Value (¥) |- | {{Item|Solvent}} || 16 |- | {{Item|Water}} || 32 |- | {{Item|Crude Oil}} || 32 |- | {{Item|Coal}} || 32 |- | {{Item|Silica}} || 32 |- | {{Item|Iron}} || 32 |- | {{Item|Copper}} || 32 |- | {{Item|Wire}} || 32 |- | {{Item|Waste}} || -32 |- | {{Item|PaperClips}} || 32 |- | {{Item|Plastic}} || 64 |- | {{Item|Widgets}} || 64 |- | {{Item|Neon Gas}} || 64 |- | {{Item|Concrete}} || 64 |- | {{Item|Reactives}} || 64 |- | {{Item|Energy}} || 64 |- | {{Item|Furniture}} || 64 |- | {{Item|Steel}} || 64 |- | {{Item|Salt}} || 64 |- | {{Item|Glass}} || 64 |- | {{Item|Motor}} || 64 |- | {{Item|Appliances}} || 128 |- | {{Item|Rockets}} || 128 |- | {{Item|Signage}} || 256 |- | {{Item|CPU}} || 256 |- | {{Item|Heavy Tools}} || 256 |- | {{Item|Retrograde}} || 256 |- | {{Item|Assembra}} || 256 |- | {{Item|Hulls}} || 256 |- | {{Item|Luxury Rooms}} || 256 |- | {{Item|Televisions}} || 512 |- | {{Item|Mainframes}} || 512 |- | {{Item|RobotArm}} || 512 |- | {{Item|Steam Tank}} || 0 |} fddbe40ea0cbd9e790a4a83089d6dc4c3e36ea80 Oil Overflow Omega 0 189 1594 530 2024-02-16T20:32:28Z Hiroteashi 379511 /* Notable Region Features */ wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Oil Overflow Omega |subtitle = High Volume Oil |number = 2 Bonus |prevMissions = [[Oil Overflow]] |biome = Savannah |money = 11000 |objectives = {{!}}Stabilize the Energy Flow{{!}}{{!}}Export 256 Energy at quest Zeppelin Dock |partimeM = 25 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x [[Zeppelin Dock]] (Quest Structure) * 2x [[Oil Powerplant]] * 3x [[Oil Well]] * 2x [[Worker Housing]] * [[Bank]] * [[Accountancy]] * [[Voucher Exchange]] Resources Nodes Present: * Water Springs * Oil Patches ==Transcript== ====Preamble==== {{blockquote | text = There are a couple extra regions I need your help with. No deadlines, just do them when practical, okay? | signature = {{Signature-saito-1}} }} ====Objective Text==== {{blockquote | text = Shore up the inner colony Energy market by establishing the Oil PowerPlants in this region. Each level 0 PowerPlant require 4 level 0 Oil Wells for full Oil supply. Upgrades or catalysts unlock vast improvements in supply and production but require extra investment. Additional Oil Wells can be built on top of any untapped Oil Spring. As you earn more cash, decide between investing into new railways, new Oil Wells, Upgrades, or Catalysts. Your only requirement is to export Energy. The optimal strategy is up to you. | signature = Stabilize the Energy Flow }} dfd5015fa22f76a1d0457d7f889e4a128fab6d34 MediaWiki:Enotif body 8 415 1595 2024-04-17T14:44:06Z Maintenance script 16930 Update notif template wikitext text/x-wiki Dear $WATCHINGUSERNAME, You are receiving this email because you are watching the page below. To change your email notification settings, please visit {{canonicalurl:{{#special:Preferences}}}} $PAGEINTRO $NEWPAGE Editor's summary: $PAGESUMMARY $PAGEMINOREDIT Contact the editor: mail: $PAGEEDITOR_EMAIL wiki: $PAGEEDITOR_WIKI There will be no other notifications in case of further activity unless you visit this page while logged in. You could also reset the notification flags for all your watched pages on your watchlist. Your friendly {{SITENAME}} notification system -- To change your email notification settings, visit {{canonicalurl:{{#special:Preferences}}}} To change your watchlist settings, visit {{canonicalurl:{{#special:EditWatchlist}}}} To delete the page from your watchlist, visit $UNWATCHURL Feedback and further assistance: $HELPPAGE 605c4a28201db8ec94020c173dea8c0c9bd89912 Talk:Incremental Maximizer 1 416 1596 2024-04-23T04:01:15Z JayB65 468401 Created page with "I started this mission this morning, and have reset a couple times. I've found the water, Oil, and Silica to get the Solva started. I know where the paperclip stampers are, and placing the steel mill next to the reclamation engine seems a no brainer. But I rapidly run out of Iron from reclamation. I haven't looked for Iron or Coal deposits, so I guess that's next. I tried using the copper to make wire for export, but that petered out too. What am I missing?" wikitext text/x-wiki I started this mission this morning, and have reset a couple times. I've found the water, Oil, and Silica to get the Solva started. I know where the paperclip stampers are, and placing the steel mill next to the reclamation engine seems a no brainer. But I rapidly run out of Iron from reclamation. I haven't looked for Iron or Coal deposits, so I guess that's next. I tried using the copper to make wire for export, but that petered out too. What am I missing? 106d851d30cafacfb90d53c5b6609d9b6137ecb8 Destroyed Reclamation Engine 0 417 1597 2024-04-27T22:28:09Z Erinacio 470945 add redirect wikitext text/x-wiki #REDIRECT [[Reclamation_Engine#MegaProject_Version]] 37c3d394b28b0738d0d98c25b978eed1382fb547 Out to the Cleaners 0 296 1599 838 2024-04-29T19:55:55Z Erinacio 470945 Fix template syntax wikitext text/x-wiki ==Info== [[Category:missions]] {{missionInfoBox |name = Out to the Cleaners |number = 24.5 Bonus B |prevMissions = [[Dusty with a Chance of Rain]] |nextMissions = [[Brewing Up a Storm]] |biome = Savannah |money = 17000 |objectives = {{!}}Solve it with Bleach{{!}}{{!}}Produce 64 Assembra at quest Grey Assembly {{!}}- {{!}}Free Shipping{{!}}{{!}}Export 4.5 Assembra per minute at quest Zeppelin Dock |partimeM = 45 }} ==Notable Region Features== Industries and Structures already existing in the region: * 1x Grey Assembly - Level 5 (Quest 1 Structure) * 1x [[Zeppelin Dock]] (Quest 2 Structure) * 1x Geothermal * 2x Worker Housing * Bank * Accountancy * Voucher Exchange Resources Nodes Present: * Water Springs * Oil Patches * Copper Veins * Silica Deposits ==Transcript== ====Preamble==== {{blockquote | text = Our scientists still don't fully understand what is contaminating the water, but we don't have the time to investigate further. But we do have a short term solution. Assembra! It can eat anything. We won't even need to spend money researching what the contaminant is! It's the best possible solution for our blight problem. Once we have production up and running, we need to export the Assembra at a steady rate back to TEAS. | signature = {{Signature-nanashi}} }} ====Objective Text==== {{blockquote | text = This region has production capabilities for Assembra. Try to get the facility back online. | signature = Solve it with Bleach }} {{blockquote | text = Now that we have production up and running, we need to export the Assembra at a steady rate back to TEAS. Get to it! | signature = Free Shipping }} 7537ca0af47581c116e74cced9cd6a53b21ba29e